คำถามติดแท็ก linq

Language Integrated Query (LINQ) เป็นส่วนประกอบ Microsoft .NET Framework ที่เพิ่มความสามารถในการสอบถามข้อมูลดั้งเดิมในภาษา. NET โปรดพิจารณาใช้แท็กที่มีรายละเอียดเพิ่มเติมตามความเหมาะสมเช่น [linq-to-sql], [linq-to-entity] / [entity-framework] หรือ [plinq]

4
แปลงผลการค้นหา Linq เป็นพจนานุกรม
ฉันต้องการเพิ่มบางแถวในฐานข้อมูลโดยใช้ Linq ไปยัง SQL แต่ฉันต้องการสร้าง "การตรวจสอบที่กำหนดเอง" ก่อนที่จะเพิ่มแถวเพื่อทราบว่าฉันต้องเพิ่มเปลี่ยนหรือเพิกเฉยแถวที่ไม่เหมาะสม ฉันต้องการเก็บ trafic ระหว่างไคลเอนต์และเซิร์ฟเวอร์ DB ให้น้อยที่สุดเท่าที่จะทำได้และลดจำนวนการค้นหา เมื่อต้องการทำเช่นนี้ฉันต้องการดึงข้อมูลให้น้อยที่สุดเท่าที่จำเป็นสำหรับการตรวจสอบความถูกต้องและเพียงครั้งเดียวที่จุดเริ่มต้นของกระบวนการ ฉันคิดว่าจะทำอะไรแบบนี้ แต่เห็นได้ชัดว่ามันไม่ทำงาน ใครมีความคิด? Dictionary<int, DateTime> existingItems = (from ObjType ot in TableObj select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp)) ) สิ่งที่ฉันต้องการในตอนท้ายจะเป็นพจนานุกรมโดยไม่ต้องดาวน์โหลดวัตถุ ObjectType ทั้งหมดจาก TableObject ฉันยังพิจารณารหัสต่อไปนี้ แต่ฉันพยายามหาวิธีที่เหมาะสม: List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>(); List<DateTime> …



7
LINQ ส่งคืนอะไรเมื่อผลลัพธ์ว่างเปล่า
ฉันมีคำถามเกี่ยวกับการสืบค้น LINQ โดยปกติแบบสอบถามส่งกลับIEnumerable<T>ชนิด หากการส่งคืนว่างเปล่าไม่แน่ใจว่าเป็นโมฆะหรือไม่ ฉันไม่แน่ใจว่าสิ่งต่อไปนี้ToList()จะทำให้เกิดข้อยกเว้นหรือเปล่าList<string>หากไม่พบIEnumerableผลลัพธ์? List<string> list = {"a"}; // is the result null or something else? IEnumerable<string> ilist = from x in list where x == "ABC" select x; // Or directly to a list, exception thrown? List<string> list1 = (from x in list where x == "ABC" select …
319 c#  linq 

11
การดีซีเรียลไลซ์วัตถุ JSON เป็น. NET โดยใช้ Newtonsoft (หรืออาจจะเป็น LINQ ถึง JSON)
ฉันรู้ว่ามีบางโพสต์เกี่ยวกับ Newtonsoft ดังนั้นหวังว่านี่ไม่ใช่การทำซ้ำอย่างแน่นอน ... ฉันพยายามแปลงข้อมูล JSON ที่ส่งคืนโดย Kazaa API เป็นวัตถุที่ดีในบางประเภท WebClient client = new WebClient(); Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&type=Album"); StreamReader reader = new StreamReader(stream); List<string> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(reader.Read().ToString()); foreach (string item in list) { Console.WriteLine(item); } //Console.WriteLine(reader.ReadLine()); stream.Close(); นั่นคือ JsonConvert บรรทัดล่าสุดที่ฉันพยายาม ... ฉันไม่ได้รับมันและหวังว่าจะกำจัดฟุตเวิร์กโดยถามพวกคุณ ตอนแรกฉันพยายามแปลงมันเป็นพจนานุกรมหรืออะไรบางอย่าง ... และที่จริงแล้วฉันแค่ต้องการขัดขวางค่าบางอย่างในเอกสารเพื่อพิจารณาจากเอกสารบางที LINT ของ Newtonsoft เป็น …

11
ลบรายการที่ซ้ำในรายการโดยใช้ linq
ฉันได้เรียนกับItemsproperties (Id, Name, Code, Price) รายการของItemsถูกบรรจุด้วยรายการที่ซ้ำกัน ตัวอย่างเช่น: 1 Item1 IT00001 $100 2 Item2 IT00002 $200 3 Item3 IT00003 $150 1 Item1 IT00001 $100 3 Item3 IT00003 $150 วิธีการลบรายการที่ซ้ำกันในรายการโดยใช้ linq

5
เรียบรายการใน LINQ
ฉันมีการสืบค้น LINQ ที่ส่งกลับIEnumerable<List<int>>แต่ฉันต้องการกลับเท่านั้นList<int>ดังนั้นฉันต้องการรวมระเบียนของฉันทั้งหมดในของฉันIEnumerable<List<int>>ไปยังอาร์เรย์เดียวเท่านั้น ตัวอย่าง: IEnumerable<List<int>> iList = from number in (from no in Method() select no) select number; ฉันต้องการที่จะนำผลลัพธ์ทั้งหมดของฉันIEnumerable<List<int>>ไปที่เดียวเท่านั้นList<int> ดังนั้นจากแหล่งอาร์เรย์: [1,2,3,4] และ [5,6,7] ฉันต้องการเพียงหนึ่งอาร์เรย์ [1,2,3,4,5,6,7] ขอบคุณ
313 c#  linq  list 

16
คุณจะทำแบบสอบถาม "ไม่ได้อยู่ใน" กับ LINQ อย่างไร
ฉันมีสองคอลเล็กชันที่มีคุณสมบัติEmailในทั้งสองคอลเลกชัน ฉันต้องการรับรายการในรายการแรกที่Emailไม่มีอยู่ในรายการที่สอง ด้วย SQL ฉันจะใช้ "ไม่ได้อยู่ใน" แต่ฉันไม่รู้ว่าเทียบเท่าใน LINQ นั่นเป็นวิธีที่ทำ? จนถึงตอนนี้ฉันได้เข้าร่วม ... var matches = from item1 in list1 join item2 in list2 on item1.Email equals item2.Email select new { Email = list1.Email }; แต่ฉันเข้าร่วมไม่ได้เพราะฉันต้องการความแตกต่างและการเข้าร่วมจะล้มเหลว ฉันต้องการวิธีการใช้ประกอบด้วยหรือมีอยู่ฉันเชื่อว่า ฉันยังไม่พบตัวอย่างที่จะทำเช่นนั้น
307 c#  linq 

5
เหตุใด ReSharper จึงบอกฉันว่า“ การถูกปิดโดยปริยาย”?
ฉันมีรหัสต่อไปนี้: public double CalculateDailyProjectPullForceMax(DateTime date, string start = null, string end = null) { Log("Calculating Daily Pull Force Max..."); var pullForceList = start == null ? _pullForce.Where((t, i) => _date[i] == date).ToList() // implicitly captured closure: end, start : _pullForce.Where( (t, i) => _date[i] == date && DateTime.Compare(_time[i], DateTime.Parse(start)) > …
296 c#  linq  resharper 

17
Entity Framework มี DataReader แบบเปิดที่เชื่อมโยงกับคำสั่งนี้อยู่แล้ว
ฉันใช้ Entity Framework และบางครั้งฉันจะได้รับข้อผิดพลาดนี้ EntityCommandExecutionException {"There is already an open DataReader associated with this Command which must be closed first."} at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands... แม้ว่าฉันจะไม่ได้ทำการจัดการการเชื่อมต่อด้วยตนเอง ข้อผิดพลาดนี้เกิดขึ้นเป็นระยะ รหัสที่ก่อให้เกิดข้อผิดพลาด (สั้นลงเพื่อความสะดวกในการอ่าน): if (critera.FromDate > x) { t= _tEntitites.T.Where(predicate).ToList(); } else { t= new List<T>(_tEntitites.TA.Where(historicPredicate).ToList()); } ใช้รูปแบบการกำจัดเพื่อเปิดการเชื่อมต่อใหม่ทุกครั้ง using (_tEntitites = new TEntities(GetEntityConnection())) { if (critera.FromDate > …

17
ใช้ Linq เพื่อรับองค์ประกอบ N สุดท้ายของคอลเล็กชันหรือไม่
รับชุดมีวิธีการรับองค์ประกอบ N สุดท้ายของคอลเลกชันที่? หากไม่มีวิธีใดในกรอบสิ่งที่จะเป็นวิธีที่ดีที่สุดในการเขียนวิธีการขยายให้ทำเช่นนี้?
284 c#  linq 

30
ลักษณะที่ยากที่สุดหรือเข้าใจผิดมากที่สุดของ LINQ คืออะไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ พื้นหลัง: กว่าเดือนต่อไปผมจะให้พูดคุยเกี่ยวกับสามหรืออย่างน้อยรวมทั้งในบริบทของLINQ C#ฉันต้องการทราบว่าหัวข้อใดที่ควรให้ความสนใจอย่างยุติธรรมโดยพิจารณาจากสิ่งที่ผู้คนอาจเข้าใจยากหรือสิ่งที่พวกเขาอาจรู้สึกผิด ฉันจะไม่พูดLINQถึงSQLหรือ Entity Framework โดยเฉพาะยกเว้นเป็นตัวอย่างของวิธีการสืบค้นข้อมูลที่สามารถดำเนินการจากระยะไกลโดยใช้แผนผังต้นไม้ (และปกติIQueryable) แล้วคุณพบLINQอะไรที่หนักหนาสาหัส คุณเห็นอะไรในแง่ของความเข้าใจผิด? ตัวอย่างอาจมีข้อใดข้อหนึ่งต่อไปนี้ แต่โปรดอย่า จำกัด ตัวเอง! วิธีC#การปฏิบัติเรียบเรียงแบบสอบถามการแสดงออก นิพจน์แลมบ์ดา ต้นไม้แสดงออก วิธีการขยาย ประเภทนิรนาม IQueryable รอการตัดบัญชีเทียบกับการดำเนินการทันที สตรีมมิ่ง vs การประมวลผลบัฟเฟอร์ (เช่น OrderBy ถูกเลื่อนออกไป แต่บัฟเฟอร์) พิมพ์ตัวแปรโลคัลโดยปริยาย การอ่านลายเซ็นทั่วไปที่ซับซ้อน (เช่นEnumerable.Join )
282 c#  linq  c#-3.0 

19
Entity Framework ลบแถวทั้งหมดในตาราง
ฉันจะลบแถวทั้งหมดในตารางอย่างรวดเร็วโดยใช้ Entity Framework ได้อย่างไร ฉันกำลังใช้: var rows = from o in dataDb.Table select o; foreach (var row in rows) { dataDb.Table.Remove(row); } dataDb.SaveChanges(); อย่างไรก็ตามมันใช้เวลานานในการดำเนินการ มีทางเลือกอื่นอีกไหม?
280 c#  sql  linq  entity-framework 

12
เรียงลำดับรายการโดยใช้ Lambda / Linq กับวัตถุ
ฉันมีชื่อของ "เรียงลำดับตามคุณสมบัติ" ในสตริง ฉันจะต้องใช้ Lambda / Linq เพื่อเรียงลำดับรายการของวัตถุ Ex: public class Employee { public string FirstName {set; get;} public string LastName {set; get;} public DateTime DOB {set; get;} } public void Sort(ref List<Employee> list, string sortBy, string sortDirection) { //Example data: //sortBy = "FirstName" //sortDirection = "ASC" or "DESC" if …

6
แปลงสตริง [] ถึง int [] ในหนึ่งบรรทัดของรหัสโดยใช้ LINQ
ฉันมีอาร์เรย์ของจำนวนเต็มในรูปแบบสตริง: var arr = new string[] { "1", "2", "3", "4" }; ฉันต้องการอาร์เรย์ของจำนวนเต็ม 'ของจริง' ที่จะผลักดันมันต่อไป: void Foo(int[] arr) { .. } ฉันพยายามที่จะส่ง int และแน่นอนล้มเหลว: Foo(arr.Cast<int>.ToArray()); ฉันสามารถทำต่อไป: var list = new List<int>(arr.Length); arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better? Foo(list.ToArray()); หรือ var list = new List<int>(arr.Length); arr.ForEach(i => { int …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.