LINQ


LINQ´Â SQL Server, °ü°èÇü µ¥ÀÌÅÍ, XML µî°ú ¼ö¸¹Àº Á¾·ùÀÇ µ¥ÀÌÅÍ Áß ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ½±°Ô °Ë»ö, Ãß°¡, ¼öÁ¤, »èÁ¦ÇÒ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÏ´Â ÇÁ·Î±×·¡¹Ö ±â¼úÀÔ´Ï´Ù. ¶ÇÇÑ µ¥ÀÌÅÍ Äõ¸® ¹× ¾÷µ¥ÀÌÆ®¿¡ »ç¿ëÇÒ ¼ö ÀÖ°í ½±°Ô ¹è¿ï ¼ö Àִ ǥÁØÀûÀÎ ÆÐÅÏÀÌ µµÀԵǾúÀ¸¸ç °ÅÀÇ ¸ðµç Á¾·ùÀÇ µ¥ÀÌÅÍ ¼Ò½º¸¦ Áö¿øÇϵµ·Ï ±â¼úÀ» È®ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾ËÁö¿À LINQ °Á¸¦ ÅëÇØ ±âº» Äõ¸® ÀÛ¾÷, µ¥ÀÌÅÍ º¯È¯, Çü½Ä°ü°è, ÁúÀÇ(Query) Çü½Ä°ú ¸Þ¼µå(Method)Çü½Ä, SQL Server µ¥ÀÌÅͺ£À̽º, ADO.NET µî°ú °°Àº ³»¿ëÀ» ÇнÀÇÒ ¼ö ÀÖ½À´Ï´Ù.
-
01.51ºÐ LINQ to Object(1)
LINQ¿¡ ´ëÇØ ¾Ë¾Æº¸°í ÇнÀÇÕ´Ï´Ù.
Ã¥°¥ÇÇ[00:04] ¸µÅ¥ÀÇ Æ¯¼º/[00:44] ¸µÅ¥ÀÇ ÀåÁ¡/[01:27] Linq to object/[01:32] ¹®¹ý¿¡ µû¸¥ Â÷ÀÌ/[02:19] °á°ú°ª È®ÀÎ/[02:43] ¸µÅ¥·Î ÀÛ¼ºµÈ ÄÚµå/[03:13] DB Äõ¸®¿Í À¯»çÇÑ ±â´É/[03:37] °á°ú°ª È®ÀÎ/[03:52] Á¤·Ä/[04:38] ¸µÅ¥·Î ¸¸µç Á¤·Ä ÄÚµå/[04:59] °á°ú º¸±â/[05:18] orderbyÀýÀ» ÀÌ¿ëÇÑ Á¤·Ä/[05:26] ÇÑ±Û Áö¿ø ±â´É/[05:52] linQ to xml/[06:29] linqtoxmlÀÇ °£·«ÇÑ ±â´É »ìÆìº¸±â/[06:59] ±âÁ¸¹æ½Ä ÄÚµå º¸±â/[09:12] °á°ú°ª È®ÀÎ/[09:50] linq·Î ¹Ù²Û ÄÚµå º¸±â/[11:49] linq·Î ¹Ù²Û °á°ú°ª È®ÀÎ/[12:37] orderbyÀ» »ç¿ëÇÑ ½ÇÇà/[13:06] linqtoSQL/[14:10] Ŭ·¡½º ´ÙÀ̾î±×·¥/[14:26] DB »ìÆìº¸±â/[15:03] °á°ú º¸±â/[16:13] nttÇÁ·¹ÀÓ¿öÅ©/[16:23] ºñÁÖ¾ó ½ºÆ©µð¿ÀÀÇ ÀÚµ¿ÄÚµå »ý¼º/[17:13] ÄÚµå ¼öÁ¤/[17:52] ½ÇÇà/[18:30] Äõ¸® ÇÁ·ÎÆÄÀÏ·¯/[19:28] ¶÷´Ù Çü½Ä/[20:35] whereÀý/[21:14] ¾¾¼¥ÀÇ È®Àå°ú °³¼±/[21:34] ´å³Ý/[21:46] Á¦³×¸¯/[22:49] ÄÚµå º¸±â/[23:30] È®À强/[23:38] ³Ê·¯ºí/[24:26] int?/[25:56] ´ÙÀ̳ª¹Í Ű¿öµå/[27:15] ¸í·É ÆÄ¶ó¹ÌÅÍ/[28:20] linq¸¦ ±¸¼ºÇÏ´Â ±âº» ¿ä¼Ò/[28:36] È®Àå¸Þ¼Òµå/[29:38] °á°ú°ª È®ÀÎ/[29:58] È®Àå¸Þ¼Òµå¸¦ ÀÌ¿ëÇÑ À߶󺸱â/[30:54] È®Àå¸Þ¼Òµå ÄÚµå º¸±â/[33:36] IEnumerable t ÀÎÅÍÆäÀ̽º/[34:05] ¶÷´Ù½Ä/[34:13] WhereÀÇ ³»ºÎ±¸Á¶ º¸±â/[35:25] ¹Ýº¹ÀÚ ¾Ë¾Æº¸±â/[36:21] foreach/[36:53] ¹Ýº¹ÀÚ ¸¸µé±â/[38:04] °á°ú°ª È®ÀÎ/[38:35] ¿©·¯¹øÀÇ ¸®ÅÏ/[39:24] Áö¿¬ ÁúÀÇ/[39:29] ¼Ò½º º¸±â/[40:25] °á°ú°ª È®ÀÎ/[41:20] select/[41:46] linq ¹æ½ÄÀÇ È¿À²ÀûÀÎ ÀÚ¿øÈ°¿ë/[42:25] Áï½Ã ÁúÀÇ ÀÀ¿ë/[43:11] ¸µÅ¥ÀÇ ¹®¹ý »ìÆìº¸±â/[43:29] ¶÷´Ù½Ä/[44:25] linq¿¡¼ Áö¿øÇÏ´Â ±âº» function/[45:29] OrderByDescending/[45:48] Skip/[46:19] Take/[47:14] Skip°ú Take¸¦ ÀÌ¿ëÇÑ °á°ú°ª È®ÀÎ/[47:46] Sum/[48:10] Average/[48:28] Count/[49:22] First/[49:52] Last/[50:08] Min/[50:19] Max -
02.57ºÐ LINQ to Object(2)
LINQ to Object ¸¦ ÀÌ¿ëÇÑ Web ÇÁ·ÎÁ§Æ® ¸¸µé±â, LINQ to Object ¸¦ ÀÌ¿ëÇÑ Win ÇÁ·ÎÁ§Æ® ¸¸µé±â
Ã¥°¥ÇÇ[00:01] ¸µÅ¥ ½ÉÈÇнÀ/[00:29] ¼îÇθô ¾÷¹« ±¸Çö/[00:47] Ŭ·¡½º ´ÙÀ̾î±×·¥ »ìÆìº¸±â/[02:54] ±¸Çö ¼Ò½º º¸±â/[03:06] MyShopŬ·¡½º/[03:17] CategoryInfo/[03:38] ProductInfo/[04:04] CustomerInfo/[04:36] BuyHisInfo/[05:01] BuyHisDetailInfo/[05:31] categoryInfoList/[06:39] productInfoList/[08:55] customerInfoList/[09:30] buyHisInfoList/[11:47] buyHisDetailInfoList/[13:23] ¸µÅ¥ Åõ ¿ÀºêÁ§Æ®ÀÇ ±âº»Á¤º¸/[14:04] ¿ÀºêÁ§Æ®µéÀÇ ¹è¿/[14:33] Ŭ·¡½º/[14:49] Á¦³×¸¯ ¸®½ºÆ® ¹è¿/[15:27] Generic Dictionary/[15:53] Where(¶÷´Ù½Ä)/[17:58] MVC4/[19:40] ºä/[20:29] ¼Ò½º º¸±â/[20:31] IEnumerableT/[22:14] Product º¸±â/[23:02] °á°ú È¸é º¸±â/[23:32] ÁÖÀÇÇÒ Á¡/[23:58] ProductInfo/[24:33] °¡°Ýº° Á¤·Ä È¸é º¸±â/[26:08] °í°´ ¸®½ºÆ® È¸é º¸±â/[26:57] ¼ýÀÚ¸¦ ¹Ù²Û °á°ú/[27:24] Skip/[28:01] ±¸¸ÅÀÌ·Â º¸±â/[29:08] ±¸¸ÅÀ̷¿¡ Á¶°Ç°É±â/[30:54] ±¸¸Å»ó¼¼ º¸±â/[32:28] ºä¾È¿¡¼ÀÇ ¸µÅ¥ÁúÀÇ/[34:34] À©µµ¿ì ÇÁ·ÎÁ§Æ® ¸¸µé±â/[35:19] Form1/[36:52] DataGridView/[37:22] ÄÁÅ×ÀÌ³Ê Panel/[38:02] Dock/[38:52] FillµµÅ·/[40:40] À̺¥Æ®/[41:27] Name/[43:42] ÇÁ·ÎÁ§Æ® ºôµå/[46:20] categoryInfo/[47:23] ¿À¹ö¶óÀ̵å/[48:13] ºôµå È®ÀÎ/[49:54] Backgroundcolor/[50:26] Where·Î ÇÊÅ͸µÇÏ´Â ¼Ò½º º¯°æ/[51:08] ºôµå È®ÀÎ/[51:25] Ç¥ÁØÁúÀÇ ¿¬»ê/[51:38] Where/[52:20] Form Ãß°¡Çϱâ/[52:27] Windows Form/[52:48] TextBox/[52:53] MultiLine/[54:08] Ãâ·Â È®ÀÎ/[55:10] ±×·ì ¹ÙÀÌ/[56:25] ±×·ì ¹ÙÀÌ ±¸Çö -
03.52ºÐ ¿¬»êÀÚ¿Í ÁúÀÇ
º¯È¯ ¿¬»êÀÚ, ´©Àû ¿¬»êÀÚ, Á¤·Ä±â´É È®Àå, Áßø ÁúÀÇ, ±×·ìÈ ÁúÀÇ
Ã¥°¥ÇÇ[00:01] º¯È¯¿¬»êÀÚ »ìÆìº¸±â/[00:10] µñ¼Å³Ê¸®/[01:08] µñ¼Å³Ê¸®¸¦ ÀÌ¿ëÇÑ °¡Á®¿À±â/[01:26] ۰ªÀ» ÀÌ¿ëÇÑ Á¶È¸/[02:19] ½ÇÇà/[02:43] ÇÁ·Î´öÆ® Á¢±Ù/[03:20] ¼¼Å¹±â Ãâ·Â/[03:49] TV Ãâ·Â/[05:14] ProductNameÀ» ÀÌ¿ëÇÑ Ãâ·Â/[05:45] categoryInfo/[06:50] categoryName/[07:07] ۸¦ ÀÌ¿ëÇÑ °´Ã¼Á¢±ÙÀÇ ÀåÁ¡/[07:33] ´©Àû¿¬»êÀÚ »ìÆìº¸±â/[07:51] Min/[09:07] ¸µÅ¥±¸¹®ÀÇ ÀåÁ¡/[09:35] ½ÇÇà/[09:59] ¹è¿ÇüÅÂ/[10:30] Max/[11:16] IenumerableT generic/[11:45] sum/[12:27] °á°ú º¸±â/[12:41] Count/[13:15] LinqÀÇ ´©Àû¿¬»êÀÚ ÀåÁ¡/[14:00] Where/[14:54] °á°ú º¸±â/[15:27] Sum, Skip»ç¿ë/[16:27] ¿¬»êÀÚ ÀÀ¿ë/[16:37] Á¤·Ä/[17:01] ¼Ò½º º¸±â/[17:32] ¿ªÁ¤·Ä/[17:51] ½ÇÇà °á°ú/[18:56] ThenBy/[19:56] Á¤·ÄÀÌ ÀÌ·ç¾îÁöÁö ¾ÊÀº °á°ú/[20:58] 1Â÷Á¤·Ä, 2Â÷Á¤·Ä/[21:18] ¿Ã¹Ù¸¥ °á°ú/[22:32] ThenByDescending, ThenBy/[23:26] ¿©·¯°¡Áö Á¤·ÄÀ» »ç¿ëÇÑ °á°ú/[24:22] 3Â÷ Á¤·Ä ÀÌ»ó/[25:45] ½ÇÇà °á°ú/[26:20] Á¤·Ä ÀÀ¿ë/[27:06] Take, Skip/[28:49] SkipÀÇ ¼ø¼/[29:57] Take(100) °á°ú/[30:32] ÁßøÁúÀÇ ¾Ë¾Æº¸±â/[32:03] new/[32:17] µ¿Àû Ŭ·¡½º ¸¸µé±â/[33:46] var, foreach ½ÇÇà°á°ú/[36:11] ¹Ýº¹ °á°ú È®ÀÎ/[36:33] categoryCount/[37:12] productCount/[38:21] ºÎ¸ð/[40:03] ±×·ìÈ ÁúÀÇ/[40:13] GroupBy/[41:17] a/[43:12] ½ÇÇà °á°ú/[43:40] ºó Ä«Å×°í¸®/[44:59] ±×·ìÈ ÁúÀÇÀÇ ÀåÁ¡/[45:51] ±×·ìÇΰú ±×·ìÇνà ī¿îÆ® Ãß°¡ ºñ±³/[47:07] Count, SumÀ» ÇÔ²² »ç¿ë/[48:04] °á°ú È®ÀÎ/[48:57] String, ToString/[49:53] a. b -
04.48ºÐ Á¶ÀÎ
³»ºÎÁ¶ÀÎ, ¿ÜºÎÁ¶ÀÎ, ÆäÀÌ¡ ±â¹ý, ºñÁ¦³×¸¯ Ä÷º¼Ç ó¸®Çϱâ, ´ÙÁß ±×·ìÈ
Ã¥°¥ÇÇ[00:00] Join/[00:22] ³»ºÎ Join/[00:26] MyShop.categoryInfoList/[00:33] Join/[00:52] categorySeq/[01:28] MyProduct/[01:38] ½ÇÇà, °á°ú È®ÀÎ/[02:05] categoryName, categorySeq/[02:33] ½ÇÇà, °á°ú È®ÀÎ/[03:13] Join/[03:40] MyName/[04:04] MyProduct/[04:10] Join, foreach/[04:18] ½ÇÇà, °á°ú È®ÀÎ/[04:59] Join/[05:03] MyName, MyProduct/[05:44] ½ÇÇà, °á°ú È®ÀÎ/[06:03] MyName=b, MyProduct=a/[07:03] Join, Where/[07:30] productInfoList/[07:46] °á°ú È®ÀÎ/[08:25] categoryName/[08:38] categoryInfoList, Where/[09:15] °á°ú È®ÀÎ/[09:39] Where, Join/[10:14] ½ÇÇà, °á°ú È®ÀÎ/[10:39] ¿ÜºÎ Join/[10:59] from/[11:09] on/[11:28] DefaultIfEmpty()/[12:43] DefaultIfEmpty()/[13:20] ½ÇÇà, °á°ú È®ÀÎ/[13:52] Join, Where/[14:43] productInfoList/[15:10] DefaultIfEmpty()/[15:38] ½ÇÇà, °á°ú È®ÀÎ/[16:04] MyProduct=product/[17:05] where/[17:50] on product.categoryInfo.categorySeq/[19:20] productSeq=10/[20:18] ÆäÀÌ¡ ±â¹ý/[20:25] Form3 »ý¼º/[20:47] GetAll()/[21:18] item.productSeq=i/[21:51] Skip, Take, ToList/[22:24] ½ÇÇà °á°ú È®ÀÎ/[23:18] Take(10)/[25:36] Form3 Àüü °¹¼ö/[25:47] GetAll()/[26:06] ÆäÀÌ¡ ±â¹ý, Skip, Take/[26:20] °á°ú È®ÀÎ/[27:33] Take/[28:27] GetAll()/[29:39] ÀáÀçÀû ¹®Á¦Á¡ ÇØ°á¹ý/[30:41] GetArrayList()/[31:04] ProductInfo()/[31:33] ArrayList/[32:32] GetArrayList()/[33:06] productList/[33:23] Cast/[33:53] ÇÔ¼ö ³ª¿/[34:14] item.productName/[34:53] Where/[35:23] from/[36:05] °á°ú È®ÀÎ/[36:30] var list/[36:48] from/[38:01] DataTable/[38:26] from in, where/[38:57] where/[40:15] ±×·ìÇÎ/[40:39] group by/[41:20] ½ÇÇà, °á°ú È®ÀÎ/[41:56] from in, productInfoList/[42:16] into/[42:31] group by, new/[42:34] ⠵Π°³·Î ³ª´²¼ º¸±â/[43:21] ½ÇÇà, °á°ú È®ÀÎ/[44:12] productSeq=33/[44:36] ½ÇÇà, °á°ú È®ÀÎ/[46:42] productSeq=55/[47:32] group by -
05.41ºÐ µ¿ÀûÁúÀÇ, µðÀÚÀÎ ÆÐÅÏ
¸Å°³º¯¼öÈµÈ ÁúÀÇ, »ç¿ëÀÚ Á¤ÀÇ Á¤·Ä, µ¿Àû Á¶°Ç, ·±Å¸ÀÓ ÁúÀÇ ½ÉÈ, CSV ÆÄÀÏ Àбâ, ÇÔ¼öÇü ÆÐÅÏ
Ã¥°¥ÇÇ[00:18] productinfolist/[00:44] int/[01:30] ½ÇÇà, °á°ú È®ÀÎ/[02:23] list/[02:27] foreach/[04:19] MyQuery()/[05:01] int productseq/[05:50] MyQueryName/[06:02] MyQueryName/[06:06] ½ÇÇà, °á°ú È®ÀÎ/[06:44] MyQueryNameLike()/[07:07] Contains(str)/[07:34] MyQueryNameLike/[07:47] ½ÇÇà, °á°ú È®ÀÎ/[08:27] productInfoList.Orderby/[08:50] Delegate/[09:01] MySort()/[10:08] °á°ú È®ÀÎ/[10:28] Orderby/[11:30] bool/[12:12] MySort, MySort2 ºñ±³/[12:29] ½ÇÇà, °á°ú È®ÀÎ/[13:57] ¹®ÀÚ¿ Ä÷º¼Ç ÆíÁý±â/[14:00] ProductSeq ¼±ÅÃ/[14:19] switch/[16:22] µ¿ÀûÁ¶°Ç/[17:16] int.Parse(txtPrice.Text)/[19:54] Where/[20:01] & (¾ÚÆÛ»÷µå)/[21:04] ¿À·ù ¿¹Á¦/[21:15] ¿À·ù ¹ß»ý ¿øÀÎ/[21:46] var list/[22:08] int Parse/[22:34] ½ÇÇà, °á°ú È®ÀÎ/[23:53] »ç¿ëÀÚ ¿¹¿Ü ó¸®/[24:00] if/[24:09] ½ÉÈ °úÁ¤/[24:52] notEqul property/[25:00] greaterThan property/[25:21] System.Linq.Expressions.Expression/[25:27] typeof/[25:56] GreaterThan/[26:10] Expression.And/[26:30] Where/[27:19] ½ÇÇà, °á°ú È®ÀÎ/[28:02] NotEqual/[28:59] Expression.Equal/[29:28] ½ÇÇà, °á°ú ÈÀÎ/[29:51] GreaterThan -> LessThan º¯°æ/[30:35] And -> Or º¯°æ/[31:17] LessThan, Equal/[31:30] text ÆÄÀÏ µ¥ÀÌÅ͸¦ ¸µÅ¥ ÁúÀÇ/[31:56] System.IO.File.ReadAllLines/[32:27] from/[32:51] StartsWith/[33:33] ½ÇÇà, °á°ú È®ÀÎ/[33:48] µ¥ÀÌÅÍ º¯°æ ¿¹Á¦/[34:00] Test.csv ³»¿ë º¯°æ/[34:18] ½ÇÇà, °á°ú È®ÀÎ/[35:11] csv/[35:54] addInfo/[36:17] ½ÇÇà, °á°ú È®ÀÎ/[36:31] ÇÔ¼öÇü ÆÐÅÏ/[36:44] select new MyShop.ProductInfo/[36:55] select new/[37:42] int.Parse/[38:28] ½ÇÇà, °á°ú È®ÀÎ/[38:53] productSeq/[39:04] ½ÇÇà, °á°ú È®ÀÎ/[40:00] get/[40:18] TempProductNo/[40:31] ½ÇÇà, °á°ú È®ÀÎ -
06.58ºÐ µðÀÚÀÎ ÆÐÅÏ, ¼º´É°í·Á
ForEach ÆÐÅÏ, ½ºÆ®¸®¹Ö ¹æ½Ä ÁÖÀÇ, Áï½Ã¼öÇà ÁÖÀÇ, Max ¿¬»êÀÚ ´ëü, ¼º´É»ó ºÎÇÏ, ¼º´ÉÀ» °í·ÁÇÑ ¼±ÅÃ
Ã¥°¥ÇÇ[00:00] ForEach ÆÐÅÏ/[00:09] foreach/[00:28] º°°³ÀÇ ¼øÈ¯¹®/[01:09] foreach, func/[01:25] list.ForEach/[01:42] È®Àå ¸Þ¼Òµå/[02:12] MyFunction/[02:25] ForEach/[02:57] ForEach/[03:05] ½ÇÇà, °á°ú È®ÀÎ/[03:33] foreach ¹®/[04:38] int price/[05:02] a.price/[06:11] º¹ÇÕÀûÀÎ »ç¿ë/[06:29] Where/[07:11] ½ÇÇà, °á°ú È®ÀÎ/[08:40] ForEach/[09:48] ÁÖ¼®Ã³¸®/[09:52] ½ÇÇà, °á°ú È®ÀÎ/[10:38] Âü°í ¼³¸í/[11:05] ReadAllLines/[12:46] using/[13:06] Lines/[13:40] Lines È®Àå ¸Þ¼Òµå/[14:18] ReadLines()/[14:34] return/[15:37] ½ÇÇà, °á°ú È®ÀÎ/[16:22] ReadAllLines/[17:14] ´©Àû ¿¬»êÀÚ/[18:21] IEnumerable/[18:50] where/[19:23] Test.csv ÆÄÀÏ È®ÀÎ/[20:11] while/[20:27] yield return line/[20:31] ÇÁ·Î½ÃÀú ´ÜÀ§ ½ÇÇà/[21:03] ½ÇÇà, °á°ú È®ÀÎ/[21:23] Reverse()/[22:15] Reverse()/[22:18] yield return line/[23:05] È®Àå ¸Þ¼Òµå/[24:05] Reverse()/[26:04] ReadAllLines/[26:51] MAX ¿¬»êÀÚ/[28:13] °á°ú È®ÀÎ/[29:14] ProductInfo/[30:24] productInfoList/[30:46] ½ÇÇà, °á°ú È®ÀÎ/[31:22] OrderBy/[31:52] OrderByDescending/[32:01] First()/[32:14] ½ÇÇà, °á°ú È®ÀÎ/[32:35] First()/[32:49] OrderByDescending/[32:55] Last()/[33:35] SingleOrDefault/[34:02] Max/[34:47] ½ÇÇà, °á°ú È®ÀÎ/[36:11] »ç¿ëÀÚ ÁúÀÇ/[36:20] MaxProduct/[37:13] ½ÇÇà, °á°ú È®ÀÎ/[37:39] static/[37:49] MaxProduct/[38:26] isFirst/[39:06] foreach/[39:42] CompareTo/[40:18] maxValue/[40:42] ½ÇÇà, °á°ú È®ÀÎ/[41:29] ¼øÈ¸ ȸÂ÷ È®ÀÎ/[42:30] LINQ Á÷°üÀû/[42:55] ¼º´ÉÀ» °í·ÁÇÑ ¼±ÅÃ/[43:45] foreach/[44:29] for/[45:07] Where/[45:36] ½ÇÇà, °á°ú È®ÀÎ/[45:36] Data Insert/[45:40] Foreach/[45:58] For/[46:14] LINQ/[46:35] Foreach/[46:46] For/[47:00] LINQ/[48:15] Substring/[48:49] ½ÇÇà, °á°ú È®ÀÎ/[48:51] Data Insert/[49:37] ¼º´ÉÀ» °í·ÁÇÑ ¼±Åà °á°ú/[50:53] LINQ »ç¿ëÇØ¾ß ÇÏ´Â ÀÌÀ¯/[52:04] ±×·ìÇÎ/[52:15] Group Ãß°¡/[52:45] DateTime start, DateTime end/[53:18] orderby/[53:45] SortedDictionary/[54:18] ½ÇÇà, °á°ú È®ÀÎ/[54:22] ¿¹Àü Group/[54:43] LINQ Group/[55:19] foreach/[55:28] ½ÇÇà, °á°ú È®ÀÎ/[55:31] ¿¹Àü Group/[55:45] LINQ Group/[56:12] LINQ ¼±¾ðÀû/[57:05] LINQ ÀåÁ¡ -
07.1½Ã°£ 3ºÐ Linq to SQL(1)
°´Ã¼ ¸ÅÇÎÇϱâ, DataContext, µ¥ÀÌÅÍ ¹Þ¾Æ¿À±â, ÇÊÅ͸µ, Á¤·Ä°ú ±×·ìÈ, ´©Àû¿¬»êÀÚ
Ã¥°¥ÇÇ[00:01] LINQ to sql/[01:35] »õ Å×À̺í/[02:27] ÀÚ·áÇü, int/[02:43] stringÇü, varchar/[03:14] ±âº» Ű Á¦°Å/[04:13] ID »ç¾ç/[04:55] »ùÇà µ¥ÀÌÅÍ ³Ö±â/[05:03] »óÀ§ 200°³ Çà ÆíÁý/[06:49] using System.Data.Linq/[07:10] Table/[07:27] class ¸ÅÇÎ/[07:32] class Ãß°¡/[08:45] Table/[09:26] using System.Data.Linq.Mapping/[10:04] Column ¸ÅÇÎ/[10:51] IsPrimaryKey/[11:15] int/[11:30] IsPrimaryKey/[12:24] Table Á¦³×¸¯/[12:45] using/[13:01] Table Á¦³×¸¯/[13:11] DataContext/[13:18] GetTable/[13:57] °á°ú È®ÀÎ/[14:37] string conn/[15:53] productName/[16:24] db.Log=Console.Out/[17:28] ½ÇÇà, °á°ú È®ÀÎ/[17:43] SELECT/[18:10] µ¥ÀÌÅͺ£À̽º â¿¡ Àû¿ë/[18:48] °á°ú È®ÀÎ/[19:27] ½ÇÁ¦ ³¯¶ó°¡´Â Äõ¸®/[19:56] WHERE/[21:08] ¿øÇÏ´Â Ä÷³ ÁöÁ¤ ÈÄ ³¯¸®±â/[21:43] ½ÇÇà, °á°ú È®ÀÎ/[22:29] Áö¿¬ ÁúÀÇ/[23:04] ¸ðµÎ Áö¿ì±â/[23:25] Ãâ·Â È®ÀÎ/[23:53] Skip, take/[24:34] °á°ú È®ÀÎ/[26:32] SELECT/[26:37] ROW_NUMBER/[27:01] ORDER BY/[27:18] BETWEEN/[28:51] ÇÊÅ͸µ/[29:06] ½ÇÇà, °á°ú È®ÀÎ/[29:47] ÀÎÁ§¼Ç °ø°Ý ¹æ¾î/[30:22] WHERE/[32:19] ij½Ì/[33:04] where/[33:59] °á°ú È®ÀÎ/[34:46] FROM, WHERE, LIKE/[35:25] NVarChar/[36:08] LIKE ±âº» ¹®¹ý/[37:21] Contains/[38:01] Like/[38:17] °á°ú È®ÀÎ/[39:18] OrderBy/[39:29] OrderBy/[40:08] ½ÇÇà, °á°ú È®ÀÎ/[41:03] OrderBy/[42:31] DESC/[42:37] °á°ú È®ÀÎ/[42:56] OrderByDescending/[43:12] Äõ¸® È®ÀÎ/[44:05] ORDER BY DESC/[44:36] from/[44:51] group by/[45:28] foreach/[46:18] ½ÇÇà, °á°ú È®ÀÎ/[47:15] group by/[47:49] ORDER BY/[49:35] group by/[50:15] ´©Àû ¿¬»êÀÚ/[50:42] from/[51:23] Count()/[52:07] °á°ú È®ÀÎ/[52:47] COUNT(*)/[53:25] GROUP BY/[54:05] MIN, MAX, Average, Sum/[54:51] ½ÇÇà, °á°ú È®ÀÎ/[57:16] Äõ¸® È®ÀÎ/[57:32] MIN, MAX, AVG, SUM/[59:04] MIN, MAX, AVG, SUM/[59:25] price ±×·ìÇÎ/[59:42] ½ÇÇà, °á°ú È®ÀÎ/[01:01:06] GROUP BY/[01:01:24] µÎ Äõ¸®¹® ºñ±³/[01:02:01] productName ±×·ìÇÎ ¼Ò½º/[01:02:08] price ±×·ìÇÎ ¼Ò½º/[01:02:28] GROUP BY -
08.52ºÐ Linq to SQL(2)
Á¶ÀÎ, °´Ã¼Æ®¸®, Áö¿¬·Îµù, ¾÷µ¥ÀÌÆ®
Ã¥°¥ÇÇ[00:00] Á¶ÀÎ, °ü°èÇü µ¥ÀÌÅͺ£À̽º/[00:40] Å×À̺í Ãß°¡/[01:16] varchar/[01:37] categorySeq/[02:28] »óÀ§ 200°³ Çà ÆíÁý/[03:16] ¼Ò½º ¸ÅÇÎ/[03:24] Table/[03:50] Column/[04:19] Á¶ÀÎ ±¸¹® È®ÀÎ/[04:27] DataContext/[04:35] Console.Out/[04:45] GetTable/[05:30] from/[05:57] where/[06:39] from/[07:11] µ¥ÀÌÅͺ£À̽º ³»¿ë È®ÀÎ/[07:52] ½ÇÇà, °á°ú È®ÀÎ/[09:51] Äõ¸® È®ÀÎ/[10:29] SELECT/[10:38] FROM/[10:49] ¼Ò½º È®ÀÎ/[11:13] WHERE/[12:54] Äõ¸® È®ÀÎ/[12:56] from/[13:03] join/[13:13] from, join/[13:19] on/[13:35] equals/[14:03] ½ÇÇà, °á°ú È®ÀÎ/[14:34] Ä µÎ°³ ³ª´©±â/[14:41] where/[15:05] INNER JOIN/[15:36] INNER JOIN/[16:22] OUTER JOIN/[16:53] GetTable/[17:01] ¸µÅ¥ ±¸¹® È®ÀÎ/[17:04] from/[17:35] into/[17:45] DefaultlfEmpty()/[18:12] null üũ/[18:33] °á°ú È®ÀÎ/[20:47] Äõ¸® È®ÀÎ/[20:57] OUTER JOIN/[21:05] LEFT OUTER JOIN/[21:36] LEFT OUTER JOIN/[22:01] INNER JOIN Á¶°Ç Ãß°¡/[22:45] join/[22:55] where/[23:37] INNER JOIN/[24:04] Á¶°Ç º¯°æ/[24:43] ½ÇÇà, °á°ú È®ÀÎ/[25:23] INNER JOIN, WHERE/[26:55] EntitySet/[27:07] Association/[27:34] DataContext/[27:57] Ä«Å×°í¸®¸¸ °¡Á®¿Íµµ µÇ´Â ÀÌÀ¯/[28:23] foreach/[29:12] °á°ú È®ÀÎ/[29:54] Á¶°ÇÀ» °¢°¢ ÁÖ±â/[31:32] °á°ú È®ÀÎ/[32:37] where/[34:20] °á°ú È®ÀÎ/[35:04] Áö¿¬ ¼öÇà/[35:43] First()/[36:02] ½ÇÇà, °á°ú È®ÀÎ/[36:29] categoryinfo Äõ¸® ³¯¶ó°¡±â/[38:06] First()/[38:38] Áö¿¬ ÁúÀÇ·Î ÀÎÇØ¼ ¿¹»óÄ¡ ¸øÇÑ °á°ú Â÷´Ü ¹æ¹ý/[38:47] ToList()/[39:14] ToList()/[40:37] SELECT/[40:45] UPDATE/[41:10] CategoryInfo/[41:27] À̺¥Æ® »ý¼º/[41:36] SingleOrDefault/[42:06] db.SubmitChanges()/[43:33] ½ÇÇà, °á°ú È®ÀÎ/[44:23] UPDATE º¹»ç/[45:37] UPDATE ¾È³ª¿À´Â ÀÌÀ¯/[46:27] Ãâ·Â È®ÀÎ/[46:56] TextBox Ãß°¡/[47:44] °á°ú È®ÀÎ/[48:08] textbox2 ¼Ó¼º È®ÀÎ/[48:17] ¼Ó¼º À̸§ º¯°æ/[48:51] ½ÇÇà, °á°ú È®ÀÎ/[49:44] varchar, ±æÀÌ È®ÀÎ/[49:50] ±æÀÌ ±æ°ÔÇÑ ¿¹Á¦/[50:52] ¹®Á¦ ¹ß»ý È®ÀÎ/[51:06] À¯È¿¼º üũ -
09.56ºÐ Linq to SQL(3)
Insert, Delete, °´Ã¼ ¸ÅÇÎ, Linq to SQL µðÀÚÀ̳Ê, ÁúÀÇ Ç¥Çö½Ä º¯È¯, °³Ã¼ÀÇ »ý¸íÁÖ±â
Ã¥°¥ÇÇ[00:00] »õ·Î¿î µ¥ÀÌÅ͸¦ DB¿¡ »ý¼ºÇϱâ/[00:05] INSERT/[00:55] Form-input box/[01:24] db.GetTable/[01:40] DbShop.ProductInfo/[02:23] productTable/[03:23] db.SubmitChanges/[03:59] ½ÇÇà/[04:46] productSeq/[05:00] productSeq db ½ºÅ°¸¶/[05:36] ¿ ¼Ó¼º-ID »ç¾ç/[06:14] IsDbGenerated/[06:39] ½ÇÇà/[06:59] »õ·Î¿î µ¥ÀÌÅÍ Ãß°¡µÈ °á°ú È®ÀÎ/[07:51] Form¿¡ »õ·Î¿î µ¥ÀÌÅÍ ÀÔ·Â/[08:18] price »ç¿ëÀÚÀÔ·Â ¹Þ±â/[08:31] ÅØ½ºÆ®¹Ú½º Ãß°¡/[08:56] ¼Ó¼º-À̸§ ÁöÁ¤/[09:29] int.Parse/[09:39] ½ÇÇà/[09:58] °á°ú È®ÀÎ/[10:30] ¹è¿Çü½Ä/[10:35] InsertOnSubmit/[11:18] InsertAllOnSubmit/[11:50] product1/[12:00] product2/[12:08] list.Add/[13:12] ½ÇÇà/[13:38] °á°ú È®ÀÎ/[15:01] INSERT INTO/[15:45] SELECT, SCOPE_IDENTITY/[17:39] db.SubmitChanges()/[17:59] ¿¹Á¦, ½ÇÇà/[18:41] °á°ú È®ÀÎ/[19:08] InsertAllOnSubmit/[20:36] foreach/[20:50] ¿¹Á¦, ½ÇÇà/[21:15] °á°ú È®ÀÎ/[22:03] 2¹ø µ¥ÀÌÅÍ »èÁ¦Çϱâ/[22:30] SingleOrDefault/[22:55] DeleteOnSubmit/[23:48] 3¹ø µ¥ÀÌÅÍ »èÁ¦Çϱâ/[24:13] DELETE FROM/[24:55] »ç¿ëÀÚ°¡ ¼±ÅÃÇÑ µ¥ÀÌÅÍ »èÁ¦Çϱâ/[25:39] dataGridView/[26:08] SingleOrDefault/[26:19] ½ÇÇà/[26:48] °á°ú È®ÀÎ/[27:34] InsertOnSubmit, InsertAllOnSubmit/[28:15] DeleteOnSubmit/[28:46] DeleteAllOnSubmit/[29:31] productSeq°¡ 10º¸´Ù ÀÛÀº µ¥ÀÌÅÍ´Â »èÁ¦Çϱâ/[29:53] °á°ú È®ÀÎ/[30:35] °´Ã¼¸¦ °ü°èÇüµ¥ÀÌÅÍ¿Í ¸ÅÇÎ/[32:26] Column/[32:58] AutoSync/[33:13] CanBeNull/[34:04] DbType/[34:34] IsPrimaryKey/[36:55] ¿ÜºÎ xmlÆÄÀϰú ¸ÅÇÎ/[37:41] xml ÇüÅ·Πµ¥ÀÌÅÍ °ü¸®/[38:00] Table/[38:17] Type, Column/[39:19] sqlmetal/[39:28] °³¹ßÀÚ ¸í·É ÇÁ·ÒÇÁÆ®/[39:47] sqlmetal¿¡¼ »ç¿ë °¡´ÉÇÑ ¿É¼Ç È®ÀÎ/[39:56] server, database/[40:27] timeout/[40:42] ¼Ö·ç¼Ç Ž»ö±â-Ãß°¡-»õ Ç׸ñ/[41:03] LINQ to SQL Ŭ·¡½º/[41:45] ¼¹ö Ž»ö±â/[42:19] µ¥ÀÌÅÍ ¼Ò½º º¯°æ/[43:45] ProductInfo¸¦ µðÀÚÀ̳ʸ¦ ÅëÇØ µ¥ÀÌÅÍ Å¬·¡½º »ý¼ºÇϱâ/[44:14] ProductInfo ¼Ó¼º/[45:14] TableAttribute/[46:40] ¼¹ö Ž»ö±â-CategoryInfo/[47:41] LINQ to SQL/[48:43] °´Ã¼ÀÇ »ý¸íÁÖ±â/[49:19] µ¥ÀÌÅÍ ÄÁÅØ½ºÆ®/[49:54] ÀÚüÀûÀΠij½Ì±â´É/[51:10] InsertOnSubmit/[51:40] Form/[52:05] new CategoryInfo()/[52:26] categoryName ÁöÁ¤/[52:38] new ProductInfo/[53:00] db.SubmitChanges()/[53:10] ½ÇÇà, °á°ú È®ÀÎ/[53:36] categoryName ±æÀ̸¦ ÃʰúÇÏ¿© ¿¡·¯ ¹ß»ý ¿¹Á¦/[54:27] ½ÇÇà, °á°ú È®ÀÎ/[54:56] db.SubmitChanges ¿¡·¯ È®ÀÎ -
10.54ºÐ Linq to SQL µ¿±âÈ(1)
ºñ°üÀû µ¿±âÈ, ³«°üÀû µ¿±âÈ, µ¿±âÈ ¿¹¿Ü ó¸®, Æ®·£Á§¼ÇÀ» ÀÌ¿ëÇÑ Ãæµ¹ ÇØ°á, µ¥ÀÌÅͺ£À̽º °í±Þ±â´É, SQL °´Ã¼¹Ýȯ, ÀúÀåÇÁ·Î½ÃÀú ÀÛ¾÷
Ã¥°¥ÇÇ[00:00] µ¿±âÈ/[01:10] lock/[02:00] ºñ°üÀû µ¿±âÈ/[02:37] ¾îÇø®ÄÉÀ̼Ç/[02:55] ³«°üÀû µ¿±âÈ/[04:07] Äõ¸® È®ÀÎ/[04:21] UPDATE, SET, WHERE/[04:45] SELECT ROWCOUNT/[04:58] ½ÇÇà, °á°ú È®ÀÎ/[06:41] productName/[07:15] WHERE Àý/[08:19] productName º¯°æ/[08:50] °á°ú È®ÀÎ/[09:20] SELECT ROWCOUNT/[09:44] ³«°üÀû µ¿±âÈ ¼º´É ¹®Á¦ ¹ß»ý/[10:12] ProductInfo ¼Ó¼º È®ÀÎ/[10:43] Update Check-Always/[11:47] price ¼Ó¼º-Update Check-Never º¯°æ/[12:09] ½ÇÇà, °á°ú È®ÀÎ/[13:31] categorySeq ¼Ó¼º-Update Check-Never º¯°æ/[13:46] ½ÇÇà, °á°ú È®ÀÎ/[15:31] µ¿±âÈ ¿¹¿Ü ó¸®/[16:06] db.ChangeConflicts.ResolveAll/[16:43] ½ÇÇà, °á°ú È®ÀÎ/[18:05] KeepCurrentValues/[18:27] ½ÇÇà, °á°ú È®ÀÎ/[19:09] OverwriteCurrentValues/[19:23] ½ÇÇà, °á°ú È®ÀÎ/[20:56] item.MemberConflicts/[21:35] ½ÇÇà, °á°ú È®ÀÎ/[23:04] Æ®·£Àè¼ÇÀ» ÅëÇÑ Ãæµ¹ ÇØ°á ±â¹ý/[23:42] try/[23:54] BeginTransaction()/[23:58] SubmitChanges()/[25:02] foreach/[25:19] ¿©·¯ °ÇÀ» °¡Áö°í ¿À´Â ¿¹Á¦/[25:48] Connection. Open()/[25:57] SubmitChanges()/[26:48] SELECT/[27:38] SubmitChanges()/[27:58] catch/[28:05] ½ÇÇà, °á°ú È®ÀÎ/[28:12] ÀϰýÀû ·Ñ¹é/[28:32] ·Ñ¹é °³³ä/[29:10] productName º¯°æ/[29:25] ·Ñ¹é/[30:02] ¼öÁ¤ÇÏ·Á´Â productName ¿Ü¿¡ ´Ù¸¥ productName º¯°æµÈ ¿¹Á¦/[31:24] db.Transaction.Commit()/[31:30] ½ÇÇà, °á°ú È®ÀÎ/[33:13] db.Connection.Open()/[33:40] using/[34:02] TransactionScope/[34:24] SubmitChanges()/[34:45] ¼Ö·ç¼Ç Ž»ö±â-ÂüÁ¶ Ãß°¡/[35:09] ÇÁ·¹ÀÓ¿öÅ©-System.Transactions/[36:39] ÅØ½ºÆ® Á¶ÇÕÀ¸·Î ÀÎÇØ Äõ¸® ³¯¸®´Â °æ¿ì ó¸®ÇÏ´Â ¹æ¹ý/[37:24] ¼¹ö Ž»ö±â-MyTable/[38:04] db.ExecuteQuery/[38:16] SubmitChanges()/[38:28] db.ExecuteQuery/[39:27] ÆÄ¶ó¸ÞŸÇü½Ä/[40:21] ExecuteQuery µÎ¹øÂ° ÀÎÀÚ (myParameter)/[41:10] SELECT/[42:03] foreach/[42:19] ½ÇÇà, °á°ú È®ÀÎ/[43:01] SELECT¿¡ ÆÄ¶ó¸ÞŸ °¡´ÉÇÑ ÀÌÀ¯/[44:06] ½ÇÁ¦ Äõ¸®°¡ ¾î¶»°Ô ³¯¾Æ°¡´ÂÁö ·Î±× È®ÀÎ/[44:34] ½ÇÇà, °á°ú È®ÀÎ/[46:29] SELECT Äõ¸®/[46:41] ½ÇÇà, °á°ú È®ÀÎ/[47:19] WHERE/[47:38] ÀúÀå ÇÁ·Î½ÃÀú/[48:13] ÇÁ·Î½ÃÀú ¸¸µå´Â ¹æ¹ý/[48:39] ALTER PROCEDURE/[49:28] ¼¹öŽ»ö±â-ÀúÀå ÇÁ·Î½ÃÀú/[50:13] db.spGetMyTable/[51:22] foreach/[51:31] ½ÇÇà, °á°ú È®ÀÎ/[53:03] EXEC, RETURN_VALUE=ÇÁ·Î½ÃÀú¸í/[53:19] RETURN VALUE -
11.54ºÐ Linq to SQL µ¿±âÈ(2)
ÀúÀåÇÁ·Î½ÃÀú, »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö, ºñÁö´Ï½º°èÃþ °³¼±Çϱâ, LINQ to SQL Á¤¸®
Ã¥°¥ÇÇ[00:00] INSERT ÇÁ·Î½ÃÀú/[00:19] INSERT ÇÁ·Î½ÃÀú »ý¼ºÇϱâ/[00:35] CREATE PROCEDURE/[01:12] ½ÇÁ¦ ÇÁ·Î½ÃÀú°¡ ¼öÇàÇØ¾ß µÉ ºÎºÐ/[01:17] INSERT INTO/[02:07] ¼¹ö Ž»ö±â-ÀúÀå ÇÁ·Î½ÃÀú È®ÀÎ/[02:20] »ý¼ºµÈ ÇÁ·Î½ÃÀú¿¡ ´ëÇØ¼ ÀÚµ¿À¸·Î ÇÔ¼ö »ý¼º/[02:38] spInsertMyTable °Ë»ö/[02:47] ÀÚµ¿À¸·Î »ý¼ºµÈ ÄÚµå È®ÀÎ/[03:40] Insert, Update ¹öư/[04:25] spInsertMyTable (myName, price)/[05:05] ÇÁ·Î½ÃÀú callÇÏ´Â ¼Ò½º ½ÇÇà, °á°ú È®ÀÎ/[06:01] ÀÎÀÚ¸¦ ½ÇÁ¦ »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ °ªÀ¸·Î ³Ñ±â±â/[07:29] int.Parse(txtPrice.Text)/[07:39] ½ÇÇà, °á°ú È®ÀÎ/[09:07] EXEC/[09:16] RETURN_VALUE/[10:25] spUpdateMyTable/[10:48] SET/[10:55] WHERE/[11:43] spUpdateMyTable/[13:02] ½ÇÇà, °á°ú È®ÀÎ/[13:31] »ç¿ëÀÚ°¡ ÀÔ·ÂÇÑ ÅØ½ºÆ® ¹Ú½º °ª/[15:33] DELETE/[15:54] WHERE/[16:15] ¼¹ö Ž»ö±â-ÀúÀå ÇÁ·Î½ÃÀú È®ÀÎ/[16:45] Form¿¡¼ Delete ¹öư ¸¸µé±â/[17:03] spDeleteMyTable ÇÔ¼ö/[17:32] ÀÎÀÚ price/[18:00] ½ÇÇà, °á°ú È®ÀÎ/[19:15] »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö/[19:28] CREATE FUNCTION/[19:45] RETURNS INT/[19:55] AS, BEGIN/[20:18] SUM/[20:34] WHERE/[20:54] ¼¹ö Ž»ö±â-ÇÔ¼ö È®ÀÎ/[21:31] fnSumMyTable °Ë»ö/[21:54] »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö call/[22:28] RETURNS INT/[22:56] ½ÇÇà, °á°ú È®ÀÎ/[23:26] SUM/[24:24] CONVERT AS/[25:12] »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö ÀÀ¿ë/[25:17] dbo.UserPoint Å×À̺í/[26:25] CREATE FUNCTION/[26:43] RETURNS INT/[27:12] RETURN Result/[27:37] ¼¹ö Ž»ö±â-ÇÔ¼ö-fnSumUserPoint/[28:09] db.fnSumUserPoint/[29:10] DB Fun(UserPoint) ¹öư ´©¸£±â/[30:18] sumData/[30:38] ºñÁî´Ï½º°èÃþ/[31:47] CompiledQuery/[32:04] ¼Ö·ç¼Ç Ž»ö±â-MyBiz/[32:38] CompiledQuery.Compile/[32:59] ij½Ì/[33:08] using System.Data.Linq/[33:29] ¶÷´Ù Çü½Ä ±¸Çö/[33:46] public/[34:10] exProducts/[34:33] GetProductList/[35:54] ProductInfo Å×ÀÌºí µ¥ÀÌÅÍ È®ÀÎ/[36:47] ½ÇÇà, °á°ú È®ÀÎ/[37:34] Àç»ç¿ë ¸¸µé±â/[38:13] exProductsUnder/[38:50] ProductInfo Å×ÀÌºí µ¥ÀÌÅÍ È®ÀÎ/[39:00] ½ÇÇà, °á°ú È®ÀÎ/[39:35] °´Ã¼ ÁöÇâ ÇÁ·Î±×·¥/[40:20] ProductInfo È®Àå ±â´É ¸¸µå´Â ¹æ¹ý/[40:33] Á¢±ÙÀÚ/[40:41] get, return/[41:42] ½ÇÇà, °á°ú È®ÀÎ/[42:05] dbml È®ÀÎ/[43:07] ÁÖÀÇ »çÇ× È®ÀÎ/[43:11] partial/[44:01] ProductInfoÀÇ ¸ðµç ¼Ó¼º È®ÀÎ/[45:39] ½ÇÇà, °á°ú È®ÀÎ/[45:52] È®À强 ¸Þ¼µå Á¤ÀÇ/[46:25] partial void OnCreated()/[47:00] new ProductInfo/[47:19] else/[47:26] µ¿Àû ÇÒ´ç/[47:56] OnCreated »èÁ¦ ÈÄ ½ÇÇà, °á°ú È®ÀÎ/[48:36] partial void OnCreated()/[49:39] µ¥ÀÌÅͺ£À̽º-ºä/[50:02] »õ ºä ¸¸µé±â/[51:15] ntt ÇÁ·¹ÀÓ¿öÅ©/[51:56] EDM/[52:59] LING to SQL ¿ä¾àÁ¤¸® -
12.54ºÐ LINQ to XML(1)
XML API, LINQ to XML °³³ä, LINQ ¸¦ ÀÌ¿ëÇÏ¿© XML ´Ù·ç±â, XML ÇØ¼®Çϱâ, XML ÀÛ¼ºÇϱâ, XML ¹®¼ »ý¼ºÇϱâ, XML ³»¿ë »èÁ¦Çϱâ, XML ÀúÀåÇϱâ
Ã¥°¥ÇÇ[00:00] LINQ to XML/[00:27] LINQ to XML Àß ´Ù·ç´Â ¹æ¹ý/[01:03] XML API/[01:24] links, link, url, name/[03:16] LINQ/[03:55] LINQ to XML¿Í APIÀÇ Â÷ÀÌÁ¡/[04:19] LINQ/[04:40] products, product, productName, price/[05:29] XmlDocument/[05:48] XmlElement/[06:40] product.AppendChild(productName)/[07:09] doc.AppendChild(products)/[08:06] new XElement/[08:38] ÇÔ¼öÇü »ý¼º/[08:48] ¸í·ÉÇü/[08:55] ÇÔ¼öÇü Á¢±Ù ¹æ½Ä/[09:11] ÇÔ¼öÇü »ý¼ºÀÇ ¸ñÇ¥/[09:45] LINQ to XML »ç¿ë½Ã µ¶¸³µÈ °³Ã¼ Ȱ¿ë/[10:19] XElement.Load(¿øÇÏ´Â ÆÄÀÏ À§Ä¡)/[11:36] XElement.Load(URL)/[13:09] ÁÖ¼Òâ¿¡ URL ÀÔ·Â/[14:00] ½ÇÇà, °á°ú È®ÀÎ/[14:52] XmlReader/[15:14] XNode/[15:44] ½ÇÇà, °á°ú È®ÀÎ/[16:18] Á¤Àû ¸Þ¼µå, Parse/[16:44] XElement.Parse/[17:28] Parse/[17:48] LoadOptions/[18:09] Load, LoadOptions/[18:34] Load, Parse ¸Þ¼µå/[19:05] XmlException/[20:40] Parse/[20:57] ½ÇÇà, °á°ú È®ÀÎ/[21:12] try/[21:38] XElement products=new XElement/[23:39] ¸í·ÉÇü/[24:03] product.Add/[24:23] products.Add(product)/[25:01] ¸í·ÉÇü, ÇÔ¼öÇü/[26:13] Form¿¡¼ º¯¼ö ¹öư ´·¶À» ¶§ ÀÔ·ÁµÈ ÅØ½ºÆ® °ª ³ªÅ¸³»±â/[27:06] GetProductName()/[27:26] return/[28:09] XDocument doc/[28:25] XProcessingInstruction/[28:59] XDeclaration/[29:44] XProcessingInstruction/[30:17] XElement/[31:08] DocumentType/[31:43] XDeclaration, XDocumentType/[32:25] ½ÇÇà, °á°ú È®ÀÎ/[33:11] body/[33:31] »õ·Î¿î °´Ã¼¿Í ¼Ó¼ºÀ» »ðÀÔÇϱâ/[33:57] products.Add/[34:44] ½ÇÇà, °á°ú È®ÀÎ/[35:22] XAttribute/[35:40] XElement.Load/[36:37] AddFirst/[38:12] °´Ã¼¿Í ¼Ó¼º »èÁ¦/[38:57] ¾Æ¹«°Íµµ »èÁ¦ ÇÏÁö ¾Ê¾ÒÀ» ¶§ ³»¿ë È®ÀÎ/[39:25] »èÁ¦ÇÏ´Â ¹æ¹ý/[40:12] ¸ðµç product »èÁ¦ÇÏ´Â ¹æ¹ý/[40:51] SetElementValue ÀÌ¿ëÇÏ¿© »èÁ¦/[41:36] »èÁ¦ÇÏ´Â ´Ù¸¥ ¹æ¹ý/[41:58] String.Empty/[43:25] SetElementValue/[44:21] ReplaceNodes/[44:49] ½ÇÇà, °á°ú È®ÀÎ/[45:40] SetElementValue/[46:29] new XAttribute/[47:38] ½ÇÇà, °á°ú È®ÀÎ/[48:12] SetAttributeValue/[50:09] Attribute »èÁ¦/[51:02] ÀúÀå/[51:12] products/[51:42] xml ÆÄÀÏ·Î ÀúÀåÇÏ´Â ¹æ¹ý/[52:12] products.Save/[52:52] ÀúÀåµÈ ÇüÅ ȮÀÎ/[53:36] ÀúÀå ¿É¼Ç/[53:44] SaveOptions.DisableFormatting -
13.52ºÐ LINQ to XML(2)
LINQ to XML Ãà ¸Þ¼Òµå
Ã¥°¥ÇÇ[00:00] XML À¥ ¼ºñ½º/[00:17] LINQ to XMLÀÇ Áö¸® ±â´É º¯È¯ ±â´É/[00:46] ¿¹Á¦ XML ÆÄÀÏ È®ÀÎ/[00:59] category/[01:40] category, category name, books, book/[02:20] xml¿¡¼ µ¥ÀÌÅ͸¸ Ãß·Á³»´Â ¹æ¹ý/[03:00] ¼Ò½º È®ÀÎ/[03:03] Load/[03:38] root.Element/[04:32] ½ÇÇà, °á°ú È®ÀÎ/[05:12] NULL üũ/[06:03] ½ÇÇà, °á°ú È®ÀÎ/[07:28] Exists/[07:51] File Not Found/[09:27] cate/[10:14] ´ë¼Ò¹®ÀÚ ±¸ºÐ/[12:09] Attribute/[13:39] att.Value/[15:42] att.ToString()/[16:13] att.Name.ToString/[17:36] att.Value/[18:33] nameÀº Áߺ¹ Ư¼º À̸§ ¿À·ù È®ÀÎ/[19:42] att.NextAttribute/[20:10] ToString()/[21:19] cate.NextNode/[22:48] PreviousNode/[23:57] Elements/[24:48] root.Elements(category)/[26:31] Elements À¯ÀÇÇÒ Á¡/[27:47] Elements ½ÇÇà, °á°ú È®ÀÎ/[29:24] root.Elements(category)/[29:39] item.Attribute/[29:57] xml È®ÀÎ/[31:01] if/[31:13] item.NextNode/[32:07] Elements ¾Æ½¬¿î Á¡/[33:01] Descendants/[33:39] foreach/[34:02] ½ÇÇà, °á°ú È®ÀÎ/[34:52] Elements, Descendants/[35:12] Elements, Descendants Â÷ÀÌÁ¡/[36:10] from/[37:29] ¶÷´Ù½Ä/[38:02] a.Attribute/[40:24] Ancestors/[41:11] Ancestors ½ÇÇà, °á°ú È®ÀÎ/[41:47] Ancestors/[42:02] Ancestors ½ÇÇà, °á°ú È®ÀÎ/[43:15] DescendantsAndSelf/[43:50] Descendants ½ÇÇà, °á°ú È®ÀÎ/[44:48] ElementsAfterSelf, NodesAfterSelf, ElementsBeforSelf, NodeBeforSelf/[45:03] ElementsAfterSelf/[45:15] cate.ElementsAfterSelf/[45:41] ½ÇÇà, °á°ú È®ÀÎ/[46:39] NodesAfterSelf/[46:59] ½ÇÇà, °á°ú È®ÀÎ/[47:34] xml È®ÀÎ/[48:20] ElementsBeforSelf/[48:32] ½ÇÇà, °á°ú È®ÀÎ/[49:19] NodeBeforSelf/[49:38] ½ÇÇà, °á°ú È®ÀÎ/[50:29] ElementsBeforSelf ½ÇÇà/[50:39] NodeBeforSelf ½ÇÇà/[51:05] ElementsBeforSelf("category")/[51:14] xml È®ÀÎ -
14.54ºÐ LINQ to XML(3)
Ç¥ÁØÁúÀÇ ¿¬»êÀÚ, Select, Where, Orderby, GroupBy, XPath¸¦ ÀÌ¿ëÇÏ¿© LINQ to XML ¿¡ ÁúÀÇÇϱâ, XML º¯È¯Çϱâ
Ã¥°¥ÇÇ[00:00] Ç¥ÁØÁúÀÇ ¿¬»êÀÚ/[00:05] Select/[00:31] root.Descendants/[01:05] xml È®ÀÎ/[02:06] Select/[02:15] ½ÇÇà, °á°ú È®ÀÎ/[02:34] from/[03:13] select(string)/[03:41] select ÀÀ¿ë/[03:59] a.Element()/[04:31] xml È®ÀÎ/[04:56] Element()/[05:19] ½ÇÇà, °á°ú È®ÀÎ/[06:24] ½ÇÇà °á°úâ È®ÀÎ/[06:56] Descendants("category")/[07:07] a.Attribute()/[08:01] ½ÇÇà, °á°ú È®ÀÎ/[09:13] Where/[10:06] xml È®ÀÎ/[11:56] ÁÖ¼® ó¸®/[12:11] Count()/[12:55] Where ½ÇÇà, °á°ú È®ÀÎ/[13:51] Descendants/[14:03] Count()==2/[14:09] ½ÇÇà, °á°ú È®ÀÎ/[14:31] xml È®ÀÎ/[15:03] ½ÇÇà °á°úâ È®ÀÎ/[15:21] ÃÖ»óÀ§ ·çÆ® Ãß°¡Çϱâ/[15:42] ½ÇÇà, °á°ú È®ÀÎ/[16:54] Count()==9/[17:05] ½ÇÇà, °á°ú È®ÀÎ/[17:26] Á¤·Ä, ±×·ìÈ/[18:00] .OrderBy/[18:22] ½ÇÇà, °á°ú È®ÀÎ/[18:43] Á¤·Ä/[19:08] category name º¯°æ ÈÄ ¼ø¼ È®ÀÎ/[19:58] Á¤·Ä Á¶°Ç ¹Ù²Ù±â/[20:15] a.Descendants().Count()/[20:40] Orderby ½ÇÇà, °á°ú È®ÀÎ/[21:18] ThenBy/[22:37] category name º¯°æ ÈÄ ¼ø¼ È®ÀÎ/[22:56] Orderby/[23:06] °¹¼ö°¡ °°Àº °æ¿ì À̸§À¸·Î 2Â÷ Á¤·Ä/[23:27] GroupBy/[23:45] Select/[24:08] ±×·ìÇÎ/[24:46] GroupBy/[25:10] xml È®ÀÎ/[25:22] ½ÇÇà, °á°ú È®ÀÎ/[26:12] OrderByDescending/[26:52] ThenByDescending/[27:30] XPath/[28:11] using System.Xml.XPath/[29:23] XPathSelectElements/[29:45] XPath ½ÇÇà, °á°ú È®ÀÎ/[30:30] XPathSelectElements ȣȯ¼º À¯Áö/[31:14] root.Element("category")/[31:39] XPathSelectElements/[31:50] XPath¿¡¼ ÃÖ»óÀ§ ³ëµå¸¦ °¡Á®¿À´Â ¸í·É/[32:21] ½ÇÇà, °á°ú È®ÀÎ/[32:43] root.Element("books")/[33:12] ele.XPathSelectElements/[33:27] ÇöÀç ³ëµåÀÇ ºÎ¸ð/[33:43] ½ÇÇà, °á°ú È®ÀÎ/[34:23] xml È®ÀÎ/[35:48] xmlÀ» xhtml¹®¼·Î º¯È¯Çϱâ/[36:20] title, content/[37:15] Form, Change/[38:15] ±¸ºÐÀÚ ³Ö±â/[39:53] ½ÇÇà, °á°ú È®ÀÎ/[40:36] html, body, h1, div/[41:35] µ¿ÀûÀÎ µ¥ÀÌÅÍ/[42:13] root.Descendants()/[42:33] ½ÇÇà, °á°ú È®ÀÎ/[43:10] xml ÆÄÀÏÀ» ±â¹ÝÀ¸·Î ÇÏ´Â html ÆÄÀÏ ¸¸µé±â/[45:06] from/[46:22] Content/[46:54] xml È®ÀÎ/[47:06] Change ½ÇÇà, °á°ú È®ÀÎ/[48:05] »ùÇà µ¥ÀÌÅÍ Ãß°¡/[49:01] xml È®ÀÎ/[49:26] XSL/[49:38] string xsl/[50:07] template/[50:43] XDocument º¯¼ö ¼±¾ð/[50:56] using/[51:23] XslCompiledTransform/[51:30] xslTran.Load/[52:12] xslTran.Transform/[53:04] ½ÇÇà, °á°ú È®ÀÎ/[53:40] µ¥ÀÌÅÍ Ãß°¡Çϱâ -
15.53ºÐ Åë»óÀûÀÎ LINQ to XML(1)
µ¥ÀÌÅͺ£À̽º µ¥ÀÌÅ͸¦ ¹ÙÅÁÀ¸·Î XML ¸¸µé±â, XML µ¥ÀÌÅÍ¿Í µ¥ÀÌÅͺ£À̽º µ¥ÀÌÅ͸¦ ¸ÓÁö ÇÏ¿© XML ¸¸µé±â
Ã¥°¥ÇÇ[00:10] XML¿¡¼ °´Ã¼ ¸¸µå´Â ¹æ¹ý/[01:30] for/[01:50] Add/[02:44] foreach/[02:58] Print()/[03:28] return result/[03:39] ½ÇÇà, °á°ú È®ÀÎ/[04:40] xml È®ÀÎ/[05:36] Load/[05:48] from/[06:12] select/[06:37] Title, Content, Price/[07:38] ½ÇÇà, °á°ú È®ÀÎ/[09:45] ¸ÊÇÎ/[09:58] º¹¼ö°è/[11:02] º¹¼ö°è/[11:23] from/[12:15] Print()/[12:50] ½ÇÇà, °á°ú È®ÀÎ/[13:45] µ¥ÀÌÅͺ£À̽º¿¡¼ °ªÀ» ºÒ·¯¿Í¼ XML ¸¸µé±â/[13:59] CategoryInfo È®ÀÎ/[14:57] Sql to XML(Category)/[15:40] DataContext()/[17:17] from category in db.CategoryInfo/[18:43] xml.ToString/[19:08] Sql to XML(Category) ½ÇÇà, °á°ú È®ÀÎ/[20:12] µ¥ÀÌÅͺ£À̽º È®ÀÎ/[20:53] db.CategoryInfo.Where/[21:18] ½ÇÇà, °á°ú È®ÀÎ/[23:31] Sql to XML(Product)/[24:21] XElement xml/[24:45] db.ProductInfo/[26:40] ½ÇÇà, °á°ú È®ÀÎ/[27:39] µ¥ÀÌÅͺ£À̽º È®ÀÎ/[28:28] OrderBy/[30:50] partial, get Á¢±ÙÀÚ/[31:36] ½ÇÇà, °á°ú È®ÀÎ/[32:28] ToString()/[32:55] ¿©·¯ Å×À̺í Á¶ÇÕÇÏ´Â ¿¹Á¦/[34:26] XElement xml/[35:42] °èÃþ ±¸Á¶/[37:00] Sql to XML(È¥ÇÕ)1 ½ÇÇà, °á°ú È®ÀÎ/[38:45] Where¸¦ ¾ø¾ÝÀ» ¶§ ½ÇÇà, °á°ú È®ÀÎ/[40:05] Where/[40:29] Sql to XML(È¥ÇÕ)2 ½ÇÇà, °á°ú È®ÀÎ/[41:28] Sql to XML(È¥ÇÕ)1 È®ÀÎ/[42:16] Where/[42:54] Sql to XML(È¥ÇÕ)3 ½ÇÇà, °á°ú È®ÀÎ/[43:23] seq ¿ªÁ¤·ÄÇϱâ/[43:32] .OrderBy/[43:44] .OrderByDescending/[44:03] Sql to XML(È¥ÇÕ)3 ½ÇÇà, °á°ú È®ÀÎ/[44:24] ¿ªÁ¤·Ä, .OrderByDescending/[46:20] Linq to SQL My Category_Change/[47:12] XML ÆÄÀϰú µ¥ÀÌÅͺ£À̽º¿¡¼ ºÒ·¯¿Â µ¥ÀÌÅ͸¦ È¥¿ëÇϱâ/[47:32] XML and SQL/[47:40] db¿¡¼ °¡Á®¿Â µ¥ÀÌÅÍ¿Í xml ÆÄÀÏ¿¡¼ Àоî¿Â µ¥ÀÌÅ͸¦ ÇÕÄ¡±â/[49:10] ÃÖ»óÀ§ ³ëµå ¸¸µé±â/[49:20] root.Descendants/[49:38] xml ÆÄÀÏ È®ÀÎ/[50:14] µ¿ÀÏ ·¹º§ ³ëµå ¸¸µé±â/[50:37] Where/[51:31] XML and SQL ½ÇÇà, °á°ú È®ÀÎ -
16.56ºÐ Åë»óÀûÀÎ LINQ to XML(2)
XMLÀ» Àоî¿Í¼ µ¥ÀÌÅͺ£À̽º ¾÷µ¥ÀÌÆ®, Text ÆÄÀÏÀ» Àоî¿Í¼ µ¥ÀÌÅͺ£À̽º ¾÷µ¥ÀÌÆ®
Ã¥°¥ÇÇ[00:00] XML¿¡¼ µ¥ÀÌÅ͸¦ Àоî¿Â ÈÄ µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇϱâ/[00:32] xml ÆÄÀÏ È®ÀÎ/[00:53] µ¥ÀÌÅͺ£À̽º Å×À̺í/[01:18] µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇϱâ/[01:46] °íÀ¯Å° Ä®·³/[02:11] Form È®ÀÎ/[03:14] dbml¿¡ µ¥ÀÌÅͺ£À̽º Å×ÀÌºí °¡Á®¿À´Â ¹æ¹ý/[03:47] ±¸Çö/[04:29] Elements/[05:12] dataGridView1.DataSource/[05:22] Search¹öư ´·¶À» ¶§ Form È®ÀÎ/[06:01] dataGridView1.SelectedRows/[07:02] db.SubmitChanges()/[07:31] °³Ã¼ Ž»ö±â-Å×À̺í È®ÀÎ/[08:46] °Ë»ö ±¸ÇöÇϱâ/[08:55] Where/[09:26] °Ë»ö Á¶°Ç ÀÔ·Â ÈÄ °Ë»öÇϱâ/[10:57] Where/[11:23] IsNullOrEmpty/[12:31] MessageBox.Show/[13:05] xml ÆÄÀÏ È®ÀÎ/[14:49] db.Book.SingleOrDefault/[15:42] InsertOnSubmit/[16:10] db.SubmitChanges()/[16:19] ½ÇÇà, °á°ú È®ÀÎ/[17:06] xml ¼öÁ¤/[17:59] µ¥ÀÌÅͺ£À̽º È®ÀÎ/[19:00] SelectedRows/[19:32] °Ë»öµÈ µ¥ÀÌÅÍ »èÁ¦Çϱâ/[20:27] ½ÇÇà, °á°ú È®ÀÎ/[20:52] °³Ã¼ Ž»ö±â È®ÀÎ/[21:19] foreach/[21:40] db.Book.SingleOrDefault/[22:48] MessageBox.Show/[22:55] else, db.Book.DeleteOnSubmit/[23:08] db.SubmitChanges()/[23:34] ½ÇÇà, °á°ú È®ÀÎ/[24:22] »èÁ¦½Ã ¾Ë¾Æ¾ß ÇÒ Á¡/[24:51] Windows.Forms¿¡¼ »èÁ¦Çϱâ/[25:22] OKCancel/[26:24] µ¥ÀÌÅͺ£À̽º¿¡ Ãß°¡Çϱâ/[27:22] ÅØ½ºÆ®ÆÄÀÏ¿¡¼ µ¥ÀÌÅÍ ºÒ·¯¿À±â/[27:46] CSV Load/[28:03] CSV ÆÄÀÏ È®ÀÎ/[29:03] ReadAllLines/[29:40] ReadAllLines/[29:57] let/[30:20] CSV ÆÄÀÏ È®ÀÎ/[30:52] let/[31:17] int.Parse/[31:46] ½ÇÇà, °á°ú È®ÀÎ/[32:38] CSV Load/[33:46] °³Ã¼ Ž»ö±â È®ÀÎ/[34:58] csv¿¡¼ Àоî¿Â ·ÎÁ÷ È®ÀÎ/[35:58] csv ÆÄÀÏ¿¡¼ ³»¿ë ¼öÁ¤ ÈÄ CSV Load, Add ½ÇÇà/[36:47] All Search/[38:34] fromÀý/[38:55] ReadAllLines/[39:11] allBook/[40:00] ½ÇÇà, °á°ú È®ÀÎ/[41:13] csv µÎ °Ç Ãß°¡Çϱâ/[41:27] All Search ½ÇÇà, °á°ú È®ÀÎ/[42:04] Add ½ÇÇà, °á°ú È®ÀÎ/[42:15] Delete ½ÇÇà, °á°ú È®ÀÎ/[44:40] DB Load/[45:36] ½ÇÇà, °á°ú È®ÀÎ/[46:15] µ¥ÀÌÅͺ£À̽º È®ÀÎ/[46:26] µ¥ÀÌÅͺ£À̽º °ª °¡°øÇÏ¿© Á¦°øÇϱâ/[47:05] ½ÇÇà, °á°ú È®ÀÎ/[49:05] µ¥ÀÌÅͺ£À̽º °ªÀ» CSV·Î Á¦°øÇϱâ/[50:33] µ¥ÀÌÅͺ£À̽º È®ÀÎ/[50:55] select/[51:28] StringBuilder/[51:43] str.Append()/[51:55] CSV ½ÇÇà, °á°ú È®ÀÎ/[52:18] µ¥ÀÌÅ͸¦ Á¦°øÇÏ´Â ÂÊ¿¡¼ ÇÊÅ͸µÇϱâ/[53:51] ½ÇÇà, °á°ú È®ÀÎ/[55:11] Where -
17.54ºÐ LINQ È®ÀåÇϱâ(1)
»ç¿ëÀÚ Á¤ÀÇ ÁúÀÇ ¿¬»êÀÚ ÀÛ¼º, ÁúÀÇ º¯È¯ ¸ÞÄ¿´ÏÁò
Ã¥°¥ÇÇ[00:00] LINQ È®À强/[00:27] LINQ to Object/[01:09] LinQ to SQL/[01:51] LINQ È®Àå±â´É¼º/[02:05] »ç¿ëÀÚÁúÀÇ ¿¬»êÀÚ/[02:49] Sum/[03:11] try/[03:44] select/[03:56] Sum/[04:19] catch/[04:30] ½ÇÇà, °á°úÈ®ÀÎ/[05:00] int.MaxValue/[06:44] Sum/[06:52] Where/[07:44] LongSum()/[08:06] static class/[08:17] public static long LongSum/[08:57] foreach/[09:34] ½ÇÇà, °á°ú È®ÀÎ/[10:07] public static int LongSum/[10:21] ½ÇÇà, °á°ú È®ÀÎ/[10:56] checked/[11:26] ½ÇÇà, °á°ú È®ÀÎ/[11:37] ´Ù¸¥ È®Àå ¸Þ¼Òµå ¿¹Á¦/[12:41] Min/[13:26] if/[14:12] return/[14:47] xml È®ÀÎ/[15:06] Min ½ÇÇà, °á°ú È®ÀÎ/[16:22] xml µ¥ÀÌÅÍ ¹Ù²Ù±â/[16:40] Min ½ÇÇà, °á°ú È®ÀÎ/[17:44] Max/[18:07] public static Book Max/[18:33] this, foreach/[19:33] return/[19:44] Max ½ÇÇà, °á°ú È®ÀÎ/[20:35] ¿©·¯°³ÀÇ Max ¹öư ¼öÇàÇϱâ/[21:07] ½ÇÇà, °á°ú È®ÀÎ/[22:24] xml ŸÀÌÆ² º¯°æÇϱâ/[23:34] category.ProductList()/[23:57] È®Àå ¸Þ¼Òµå¸¦ ÀÌ¿ëÇÏ¿© LINQ¸¦ È®ÀåÇØ¼ °¡Á®¿À±â/[24:24] Category Product ½ÇÇà, °á°ú È®ÀÎ/[24:51] public static/[26:04] Where/[26:19] ½ÇÇà, °á°ú È®ÀÎ/[28:00] SumProductPrice()/[28:21] .Sum/[28:37] ½ÇÇà, °á°ú È®ÀÎ/[30:30] Category Product ½ÇÇà, °á°ú È®ÀÎ/[31:15] »ç¿ëÀÚÁúÀÇ È®Àå¿¡¼ Book Å×ÀÌºí °®°í ÀÛ¾÷Çϱâ/[32:08] °³Ã¼ Ž»ö±â È®ÀÎ/[32:45] Expensive/[33:14] IsExpensive/[33:38] pageCount/[34:59] È®Àå¸Þ¼Òµå ±¸ÇöÇϱâ/[35:05] public static/[35:29] this/[35:46] ¼Ö·ç¼Ç Ž»ö±â È®ÀÎ/[36:16] pageCount/[36:53] return isExpensive/[37:46] Expensive ½ÇÇà, °á°ú È®ÀÎ/[39:34] ¹éºÐÀ² ±¸Çϱâ/[40:06] Thick/[40:24] IsThick/[40:50] this/[41:33] item.IsThick()/[42:01] Thick ½ÇÇà, °á°ú È®ÀÎ/[42:45] Expensive Thick Check/[43:58] IsThick()/[44:13] Expensive ½ÇÇà, °á°ú È®ÀÎ/[44:36] Expensive Thick Check ½ÇÇà, °á°ú È®ÀÎ/[45:05] pageCount ¼öÁ¤ ÈÄ ½ÇÇà, °á°ú È®ÀÎ/[46:30] db.Book/[47:35] where/[47:51] AppendText/[48:06] using System.Linq/[48:42] MyWhere ½ÇÇà/[49:27] È®ÀåÇÑ ±¸¹® »ç¿ë/[49:57] public static class/[50:29] return Enumerable.Where/[50:53] Console.WriteLine/[51:14] Console.WriteLine/[51:26] return Enumerable.Select/[51:48] MyWhere ½ÇÇà/[52:14] using System.Linq/[52:22] using WinStudy.Mylmplement/[53:11] MyWhere ½ÇÇà/[53:43] Console.WriteLine -
18.52ºÐ LINQ È®ÀåÇϱâ(2)
ÁúÀÇÇ¥Çö½Ä°£ÀÇ Ãæµ¹, ºñÁ¦³×¸¯ ƯÁ¤¿µ¿ª¿¡ ´ëÇÑ ¿¬»êÀÚ, Linq to À¥¼ºñ½º
Ã¥°¥ÇÇ[00:00] LINQ È®Àå±â´É ÁÖÀÇÁ¡/[00:20] using System.Linq/[00:36] select, foreach/[00:54] MyWhere ½ÇÇà, °á°ú È®ÀÎ/[01:12] ¼Ö·ç¼Ç Ž»ö±â-MyImple/[01:49] Where/[02:41] orderby/[03:54] ¿À·ù È®ÀÎ/[04:29] Where, Select/[05:13] orderby/[06:09] IEnumerable/[06:57] static class/[07:16] Where/[07:39] this/[07:59] Console.WriteLine/[08:23] yield return/[09:11] foreach/[10:06] yield return/[10:32] using/[11:24] MyWhere ½ÇÇà, °á°ú È®ÀÎ/[12:57] Where, Select È®Àå/[13:40] orderby descending/[14:52] where/[14:57] orderby descending/[17:16] using System.Linq/[17:27] where, select ¿À·ù È®ÀÎ/[18:46] using.WinStudy.Mylmplement/[19:14] MyImpleProduct/[19:49] foreach/[20:09] Console/[20:42] orderby/[21:06] ½ÇÇà, °á°ú È®ÀÎ/[22:13] orderby product.productSeq/[22:47] LINQ to À¥¼ºñ½º ÇÁ·ÎÁ§Æ® ¸¸µé±â/[22:55] Form È®ÀÎ/[23:54] yes24 À¥¼ºñ½º È®ÀÎ/[25:16] Search ÇÔ¼ö/[26:24] strUrl, searchTitle/[26:50] XElement.Load/[27:18] from/[27:42] select/[28:19] if/[28:33] Where/[29:24] return/[30:12] ¼Ó¼º-À̺¥Æ®/[30:45] SelectionChanged/[32:00] Url ÀÔ·Â/[34:14] BookSearch È®ÀÎ/[34:36] Url º¯°æ/[35:48] Á¦¸ñ Search/[36:23] ¸µÅ©/[36:53] ¼±ÅÃÇÑ Title ¿±â/[37:45] Ä«Å×°í¸®/[37:52] WebForm, frm.Show()/[39:12] ¿¹Á¦ ½ÇÇà, °á°ú È®ÀÎ/[39:39] À¥ÆäÀÌÁö È®ÀÎ/[40:08] À¥¼ºñ½º ÁÖ¼Ò/[40:27] DropDown box/[42:02] DropDownListItem/[42:37] Clear()/[42:52] WebServiceUrl/[43:37] BookSearch È®ÀÎ/[44:38] RSS À¥¼ºñ½º/[44:53] title, link, description/[45:53] ij³ª´Ù ±¹¸³µµ¼°ü Search/[46:27] category ¸ø °¡Á®¿Â ÀÌÀ¯/[46:44] ¿¹¿Üó¸®/[47:46] aspx È®ÀåÀÚ/[48:52] ±¹¸³¿Ü±³¿ø ÀüÀÚµµ¼°ü ¿¹Á¦/[49:10] rss/[50:04] µ¥ÀÌÅͰ¡ ±úÁöÁö ¾Ê°í, Á¤È®ÇÏ°Ô µé¾î¿À´ÂÁö È®ÀÎ/[51:03] ±³À°ºÎ »çÀÌÆ® ¿¹Á¦/[51:15] item, title, link, description/[51:48] ½ÇÇà, °á°ú È®ÀÎ -
19.- LINQ ½ÇÀü À¥ ÇÁ·ÎÁ§Æ®(1)
½ÇÀü À¥ ÇÁ·ÎÁ§Æ®¸¦ Á¦ÀÛÇØº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:00] ½ÇÀü À¥ ÇÁ·ÎÁ§Æ®¸¦ Á¦ÀÛÇϱâ/[00:30] »õ ÇÁ·ÎÁ§Æ® ¸¸µé±â/[01:02] ÇÁ·ÎÁ§Æ® À̸§ ÁöÁ¤/[01:14] »õ ASP.NET MVC 4 ÇÁ·ÎÁ§Æ® È®ÀÎ/[01:55] ´ÜÀ§ Å×½ºÆ® ÇÁ·ÎÁ§Æ® ¸¸µé±â/[03:15] Model ¸¸µé±â/[03:50] LINQ to SQL Ŭ·¡½º Ãß°¡/[04:44] ¼¹ö Ž»ö±â/[05:03] Å×À̺í È®Àå/[05:13] µ¥ÀÌÅÍ ¿¬°á/[05:46] SQL Server ÀÎÁõ »ç¿ë/[07:13] private/[07:30] À¥ »çÀÌÆ® ¸¸µé±â/[07:38] ÄÁÆ®·Ñ·¯ ¸¸µé±â/[09:10] Index()/[09:29] return View()/[09:56] ºä Ãß°¡/[11:03] À¥ »çÀÌÆ® »ý¼º/[11:39] ±âº» ÁÖ¼Ò/[12:19] table, tr, td/[13:12] dbml/[13:27] namespace/[14:24] Where, AsQueryable/[14:44] using ±¸¹®/[15:22] foreach/[15:44] item.title/[16:27] tr/[16:40] table border/[16:52] style=width/[17:00] td style=background/[18:08] item.price/[18:49] °á°ú È®ÀÎ/[19:07] Layout/[19:25] ºä Ãß°¡/[19:52] RenderSection, RenderBody/[20:53] RenderSection/[22:19] Layout Å×ÀÌºí ±¸Á¶/[23:11] »ý¼º/[23:20] Index()/[24:01] Create()/[24:20] section MyScript/[25:19] ¼Ò½º º¸±â/[26:40] ¸ðµç ÆäÀÌÁö¿¡¼ Á¦ÀÌÄõ¸® »ç¿ëÇϱâ/[27:07] location.href/[27:58] InsertOnSubmit()/[28:36] return/[29:34] ½ÇÁ¦ µ¥ÀÌÅͺ£À̽º °ª Á¶È¸/[31:26] Ä÷³ Ãß°¡ È®ÀÎ/[32:04] modify ÆäÀÌÁö ¸¸µé±â/[32:29] int seq/[33:13] a.Seq/[33:30] return View()/[33:40] ºä Ãß°¡/[34:30] using MyBook.Models/[35:22] content/[35:37] ºôµå/[35:50] ¼öÁ¤¹öư ´©¸£¸é ÆäÀÌÁö À̵¿/[36:29] ¼öÁ¤µÈ °ªÀ¸·Î ÀúÀåÇϱâ/[37:34] if/[39:06] ºôµå/[39:48] µî·ÏºÎÅÍ ¼öÁ¤±îÁö È®ÀÎ/[40:26] Save/[41:07] »èÁ¦/[41:42] onclick=return DeleteAt/[43:00] location.href/[43:11] Delete/[44:11] isSuccess/[45:07] µ¥ÀÌÅͺ£À̽º È®ÀÎ/[45:47] »èÁ¦ ±¸Çö/[46:56] °Ë»ö ±â´É/[47:20] table/[47:41] input/[49:00] submit()/[49:32] Where/[50:27] µ¥ÀÌÅÍ °Ë»ö/[50:51] return/[51:33] LIKE °Ë»ö/[52:01] LIKE/[53:42] LINQ to SQL¿¡¼¸¸ Like °¡´É/[53:51] ºôµå -
20.53ºÐ LINQ ½ÇÀü À¥ ÇÁ·ÎÁ§Æ®(2)
½ÇÀü À¥ ÇÁ·ÎÁ§Æ®¸¦ Á¦ÀÛÇØº¾´Ï´Ù.
Ã¥°¥ÇÇ[00:00] µÎ °³ÀÇ Å×À̺íÀ» ÀÌ¿ëÇÑ/[00:25] °ü°è/[01:06] ¿Ü·¡ Ű °ü°è/[01:21] Å×ÀÌºí ¹× ¿ »ç¾ç/[02:31] ÇÁ·ÎÁ§Æ® ¸¸µé±â/[02:40] ÇÁ·ÎÁ§Æ® ¼¼ºÐÈÇÏ¿© ³ª´©±â/[03:31] »õ Ç׸ñ Ãß°¡-LINQ to SQL Ŭ·¡½º/[04:10] CategoryInfo, ProductInfo/[05:10] designer.cs ÆÄÀÏ È®ÀÎ/[05:26] ºñÁö´Ï½º ·¹ÀÌ¾î ¸¸µé±â/[05:49] GetList()/[06:02] db.CategoryInfo.AsQueryable()/[07:06] ºñÁö´Ï½º ÇÁ·ÎÁ§Æ®¿¡¼ ÁÖÀÇÇÒ Á¡/[07:32] ÂüÁ¶ Ãß°¡-¼Ö·ç¼Ç/[08:17] À¥ ÇÁ·ÎÁ§Æ®/[08:42] ÆäÀÌÁö ¸¸µé±â/[08:56] Index(), CategoryMngBiz(), GetList()/[09:25] return View(list)/[09:48] foreach/[10:50] Product ¸¸µé±â/[11:21] using/[11:29] GetList()/[11:49] db.ProductInfo.AsQueryable()/[12:00] ÄÁÆ®·Ñ·¯ Ãß°¡/[12:35] using/[12:39] Index()/[12:58] ºä Ãß°¡/[13:17] model IQueryable/[13:51] item.productName/[14:16] ºôµå ÈÄ ÆäÀÌÁö È®ÀÎ/[14:38] Product ÆäÀÌÁö¿Í category ÆäÀÌÁö ºñ±³/[15:13] categoryName ºÎºÐ °¡Á®¿À±â/[16:03] item.CategoryInfo.categoryName/[17:38] item.CategoryInfo.categoryName/[17:56] °á°ú È®ÀÎ/[18:48] µ¥ÀÌÅͺ£À̽º È®ÀÎ/[19:53] table, tr, td/[20:24] item.ProductInfo/[20:39] foreach/[20:59] À¥ÆäÀÌÁö È®ÀÎ/[21:40] categorySeq °ª º¯°æ ÈÄ °á°ú È®ÀÎ/[22:22] pro.price/[23:01] foreach/[23:06] Á¦³×¸¯ ÇüÅÂ/[24:18] Where, OrderBy/[24:38] OrderByDescending/[25:00] categoryName¿¡ ¼ÓÇÑ °Í¿¡ ´ëÇØ sum Çϱâ/[25:44] °á°ú È®ÀÎ/[26:06] Min, Max/[26:23] item.Product.Info.Min/[26:54] °á°ú È®ÀÎ/[27:39] °Ë»öÇϱâ/[27:56] GetList()/[28:34] SearchList()/[28:44] Where()/[29:16] °á°ú È®ÀÎ/[30:03] Like °Ë»ö/[31:59] db.CategoryInfo.Where/[32:15] a.ProductInfo/[33:00] Count/[33:43] ¼ºê Äõ¸®/[33:56] °á°ú È®ÀÎ/[35:03] Product »ý¼º/[35:18] Save()/[35:39] db.SubmitChanges()/[36:10] try/[36:25] Create ºä È®ÀÎ/[36:55] success/[37:33] categorySeq/[39:21] item.CategoryInfo.categoryName/[39:31] ¿¹¿Ü ó¸®/[40:58] tr Ãß°¡/[41:13] foreach/[41:49] CategoryMngBiz().GetList()/[42:32] °á°ú È®ÀÎ/[43:55] Category ÆäÀÌÁö È®ÀÎ/[44:36] Product/Create ÆäÀÌÁö È®ÀÎ/[46:20] Category »èÁ¦Çϱâ/[46:48] db.CategoryInfo.SingleOrDefault/[47:08] db.CategoryInfo.DeleteOnSubmit/[47:14] db.SubmitChanges()/[48:03] DeleteAt/[48:28] try, catch/[48:40] °á°ú È®ÀÎ/[49:40] ÇØ´ç Category¿Í ÇÏÀ§ Productµµ ÇÔ²² »èÁ¦Çϱâ/[49:59] ProductInfo.DeleteAllOnSubmit/[50:55] µ¥ÀÌÅÍ »èÁ¦, °á°ú È®ÀÎ/[52:44] »óÀ§ »èÁ¦½Ã °ü°è ¼³Á¤¿¡ ÀÇÇÏ¿© ÇÏÀ§ »èÁ¦
-
ºñÁÖ¾óº£ÀÌÁ÷ºñÁÖ¾óº£ÀÌÁ÷ Àΰ Æò»ý±³À°¿ø ±³À° ¾È³» ºñÁÖ¾óº£ÀÌÁ÷ Àº À©µµ¿ì¿ë ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß ¾ð¾îÀ̸é¼, µ¿½Ã¿¡ µ¥ÀÌÅͺ£À̽º ÇÁ·Î±×·¡¹Ö±îÁö °¡´ÉÇÑ ¼ÒÇÁÆ®¿þ¾î °³¹ß µµ±¸·Î ºñÁÖ¾óº£ÀÌÁ÷ Àº ±×·¡ÇÈ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦ °³¹ßÇÏ·Á´Â ºÐµéÀÌ ÀÌ¿ëÇϸé ÁÁ½À´Ï´Ù. ºñÁÖ¾óº£ÀÌÁ÷ À¸·Î ±âº»ÀûÀÎ ÄÚµùÀÌ ÀÚµ¿À¸·Î ÀÛ¼ºµÇ±â ¶§¹®¿¡ Ãʺ¸ÀÚµµ ½±°Ô ÀÌ¿ëÇÒ¼ö ÀÖ½À´Ï´Ù. ±âÁ¸°³¹ßÀÚ¶ó¸é ºñÁÖ¾óº£ÀÌÁ÷ ÀÇ ±âº»¸í·É¾î¸¸ ¼÷ÁöÈÄ ½±°Ô ÇÁ·Î±×·¡¹ÖÀÌ °¡´ÉÇÕ´Ï´Ù. ´Ü, ¾ð¾îÇнÀÀº °³¹ßÀ»À§ÇØ ±âº»ÀûÀ¸·Î ÇнÀµÇ¾î¾ß µÇ±â ¶§¹®¿¡ C¾ð¾î ¿Í C++ ÇнÀµÇ¾î¾ß ºñÁÖ¾óº£ÀÌÁ÷ ÀÌÇØµµ°¡ ³ô½À´Ï´Ù.ÇнÀ±â°£ : 2°³¿ù/°ÀǼö : 20°/ÁøÇà½Ã°£ : 12½Ã°£ 54ºÐ/¼ö°·á :
270,000¿ø165,000¿ø