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

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

13
ห่อผู้รับมอบสิทธิ์ใน IEqualityComparer
Linq หลายฟังก์ชั่นที่คำนวณได้ใช้เวลาIEqualityComparer<T>. มีคลาส Wrapper ที่สะดวกในการปรับ a delegate(T,T)=>boolเพื่อใช้งานIEqualityComparer<T>หรือไม่? ง่ายพอที่จะเขียน (หากคุณเพิกเฉยปัญหาเกี่ยวกับการกำหนดแฮชโค้ดที่ถูกต้อง) แต่ฉันต้องการทราบว่ามีวิธีแก้ปัญหาแบบสำเร็จรูปหรือไม่ โดยเฉพาะอย่างยิ่งฉันต้องการตั้งค่าการดำเนินการบนDictionarys โดยใช้เฉพาะคีย์เพื่อกำหนดความเป็นสมาชิก (ในขณะที่รักษาค่าตามกฎที่แตกต่างกัน)
127 .net  linq  delegates 

13
ASP.NET MVC วิธีการแปลงข้อผิดพลาด ModelState เป็น json
คุณจะได้รับรายการข้อความแสดงข้อผิดพลาดทั้งหมดของ ModelState ได้อย่างไร? ฉันพบรหัสนี้เพื่อรับคีย์ทั้งหมด: (การส่งคืนรายการคีย์ที่มีข้อผิดพลาด ModelState ) var errorKeys = (from item in ModelState where item.Value.Errors.Any() select item.Key).ToList(); แต่ฉันจะได้รับข้อความแสดงข้อผิดพลาดเป็น IList หรือ IQueryable ได้อย่างไร ฉันสามารถไป: foreach (var key in errorKeys) { string msg = ModelState[error].Errors[0].ErrorMessage; errorList.Add(msg); } แต่นั่นคือการทำด้วยตนเอง - มีวิธีทำโดยใช้ LINQ หรือไม่? คุณสมบัติ. ErrorMessage อยู่ในห่วงโซ่มากจนฉันไม่รู้ว่าจะเขียน LINQ อย่างไร ...

11
LINQ เป็นเอนทิตีไม่รู้จักเมธอด 'System.String ToString ()' และวิธีนี้ไม่สามารถแปลเป็นนิพจน์ร้านค้าได้
ฉันกำลังย้ายข้อมูลบางอย่างจากเซิร์ฟเวอร์ mysql หนึ่งไปยังเซิร์ฟเวอร์ sql แต่ฉันไม่สามารถหาวิธีทำให้รหัสนี้ทำงานได้: using (var context = new Context()) { ... foreach (var item in collection) { IQueryable<entity> pages = from p in context.pages where p.Serial == item.Key.ToString() select p; foreach (var page in pages) { DataManager.AddPageToDocument(page, item.Value); } } Console.WriteLine("Done!"); Console.Read(); } เมื่อเข้าสู่วินาทีforeach (var page in pages)จะแสดงข้อยกเว้นว่า: …
126 c#  mysql  sql  linq 

7
LINQ คืออะไรและทำอะไร? [ปิด]
มันยากที่จะบอกว่ากำลังถามอะไรที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือมีวาทศิลป์และไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา LINQ คืออะไร? ฉันรู้ว่ามันมีไว้สำหรับฐานข้อมูล แต่มันทำอะไรได้บ้าง?
126 c#  linq 


4
วิธีการแบนวัตถุที่ซ้อนกันด้วยนิพจน์ linq
ฉันพยายามทำให้วัตถุที่ซ้อนกันแบนราบเช่นนี้: public class Book { public string Name { get; set; } public IList<Chapter> Chapters { get; set; } } public class Chapter { public string Name { get; set; } public IList<Page> Pages { get; set; } } public class Page { public string Name { get; set; } …
125 c#  .net  vb.net  linq 

8
คำสั่ง LINQ เร็วกว่าลูป 'foreach' หรือไม่?
ฉันกำลังเขียนตัวจัดการ Mesh Rendering และคิดว่ามันเป็นความคิดที่ดีที่จะจัดกลุ่มตาข่ายทั้งหมดที่ใช้ shader เดียวกันแล้วแสดงผลสิ่งเหล่านี้ในขณะที่ฉันอยู่ใน shader pass นั้น ฉันกำลังใช้foreachลูปอยู่ แต่สงสัยว่าการใช้ LINQ อาจทำให้ฉันมีประสิทธิภาพเพิ่มขึ้นหรือไม่?
124 c#  performance  linq  foreach 


4
LINQ OrderBy กับ ThenBy
ใครช่วยอธิบายความแตกต่างระหว่าง: tmp = invoices.InvoiceCollection .OrderBy(sort1 => sort1.InvoiceOwner.LastName) .OrderBy(sort2 => sort2.InvoiceOwner.FirstName) .OrderBy(sort3 => sort3.InvoiceID); และ tmp = invoices.InvoiceCollection .OrderBy(sort1 => sort1.InvoiceOwner.LastName) .ThenBy(sort2 => sort2.InvoiceOwner.FirstName) .ThenBy(sort3 => sort3.InvoiceID); วิธีใดเป็นแนวทางที่ถูกต้องหากฉันต้องการสั่งซื้อด้วยข้อมูล 3 รายการ
123 linq 

19
แบ่งคอลเล็กชันออกเป็นส่วน "n" ด้วย LINQ หรือไม่
มีวิธีที่ดีในการแบ่งคอลเลกชันออกเป็นnส่วน ๆ ด้วย LINQ หรือไม่? ไม่จำเป็นต้องเท่ากันแน่นอน นั่นคือฉันต้องการแบ่งคอลเลกชันออกเป็นคอลเลกชั่นย่อยซึ่งแต่ละคอลเลกชั่นมีองค์ประกอบย่อยซึ่งคอลเลกชันสุดท้ายสามารถมอมแมมได้
122 c#  .net  linq  data-structures 

16
ตรวจสอบว่ารายการว่างเปล่าด้วย LINQ
วิธีใด "ดีที่สุด" (โดยคำนึงถึงความเร็วและความสามารถในการอ่าน) ในการพิจารณาว่ารายการว่างหรือไม่ แม้ว่ารายการจะเป็นประเภทIEnumerable<T>และไม่มีคุณสมบัติ Count ก็ตาม ตอนนี้ฉันกำลังโยนระหว่างสิ่งนี้: if (myList.Count() == 0) { ... } และนี่: if (!myList.Any()) { ... } ฉันเดาว่าตัวเลือกที่สองเร็วกว่าเนื่องจากจะกลับมาพร้อมผลลัพธ์ทันทีที่เห็นรายการแรกในขณะที่ตัวเลือกที่สอง (สำหรับ IEnumerable) จะต้องไปที่ทุกรายการเพื่อส่งคืนการนับ ดังที่กล่าวไว้ตัวเลือกที่สองดูเหมือนว่าคุณสามารถอ่านได้หรือไม่? คุณต้องการอะไร หรือคุณสามารถคิดวิธีที่ดีกว่าในการทดสอบรายการว่างได้หรือไม่? การตอบสนองของEdit @ lassevk ดูเหมือนจะมีเหตุผลมากที่สุดควบคู่ไปกับการตรวจสอบรันไทม์เล็กน้อยเพื่อใช้การนับแคชหากเป็นไปได้ดังนี้: public static bool IsEmpty<T>(this IEnumerable<T> list) { if (list is ICollection<T>) return ((ICollection<T>)list).Count == 0; return !list.Any(); }
122 c#  .net  linq  list 

4
เลือกหลายระเบียนตามรายการของ Id กับ linq
ฉันมีรายการที่มี Id ของUserProfileตารางของฉัน ฉันจะเลือกทั้งหมดUserProfilesตามรายการรหัสที่ฉันvarใช้งานได้LINQอย่างไร? var idList = new int[1, 2, 3, 4, 5]; var userProfiles = _dataContext.UserProfile.Where(......); ฉันติดอยู่ตรงนี้ ฉันสามารถทำได้โดยใช้สำหรับลูปเป็นต้น แต่ฉันควรทำเช่นนี้กับLINQ.
122 c#  linq 

9
จะตรวจสอบได้อย่างไรว่ารายการทั้งหมดมีค่าเท่ากันและส่งคืนหรือคืนค่า "otherValue" หากไม่มี
หากรายการทั้งหมดในรายการมีค่าเท่ากันฉันจำเป็นต้องใช้ค่านั้นมิฉะนั้นฉันต้องใช้“ otherValue” ฉันไม่สามารถคิดวิธีที่ง่ายและชัดเจนในการทำเช่นนี้ ดูวิธีการเขียนลูปที่มีตรรกะพิเศษสำหรับรายการแรกในคอลเล็กชันด้วย
122 c#  linq 

7
Linq: อะไรคือความแตกต่างระหว่าง Select และ Where
SelectและWhereวิธีการที่มีอยู่ใน Linq นักพัฒนาทุกคนควรรู้อะไรเกี่ยวกับสองวิธีนี้บ้าง? ตัวอย่างเช่น: เมื่อใดควรใช้อย่างอื่นข้อดีของการใช้อย่างอื่นเป็นต้น
122 .net  linq  select  where 


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