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

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

12
วิธีที่เร็วที่สุดในการเปรียบเทียบรายการทั่วไปสองรายการสำหรับความแตกต่าง
สิ่งที่เร็วที่สุด (และใช้ทรัพยากรอย่างน้อยที่สุด) เพื่อเปรียบเทียบสองสิ่งที่มีขนาดใหญ่ (> 50,000 รายการ) และด้วยเหตุนี้จึงมีสองรายการเหมือนรายการด้านล่าง: รายการที่ปรากฏในรายการแรก แต่ไม่ใช่ในรายการที่สอง รายการที่ปรากฏในรายการที่สอง แต่ไม่อยู่ในรายการแรก ขณะนี้ฉันกำลังทำงานกับรายการหรือ IReadOnlyCollection และแก้ปัญหานี้ในแบบสอบถาม linq: var list1 = list.Where(i => !list2.Contains(i)).ToList(); var list2 = list2.Where(i => !list.Contains(i)).ToList(); แต่มันก็ไม่ได้ผลดีเท่าที่ฉันต้องการ มีความคิดที่จะทำให้ทรัพยากรนี้เร็วขึ้นและน้อยลงอย่างที่ฉันต้องการเพื่อประมวลผลรายการจำนวนมากหรือไม่?
214 c#  linq  list 

9
วิธีการขยายต้องถูกกำหนดในคลาสที่ไม่ใช่แบบทั่วไป
ฉันได้รับข้อผิดพลาด: วิธีการขยายต้องถูกกำหนดในคลาสที่ไม่ใช่แบบทั่วไป ในบรรทัด: public class LinqHelper นี่คือคลาสตัวช่วยตามรหัส Mark Gavells ฉันสับสนจริง ๆ ว่าข้อผิดพลาดนี้หมายถึงอะไรเพราะฉันแน่ใจว่ามันทำงานได้ดีเมื่อฉันทิ้งไว้ในวันศุกร์! using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Linq.Expressions; using System.Reflection; /// <summary> /// Helper methods for link /// </summary> public class LinqHelper { public static IOrderedQueryable<T> OrderBy<T>(this IQueryable<T> source, string property) { return ApplyOrder<T>(source, property, "OrderBy"); …

7
เมื่อใดจึงจะใช้ Cast () และ Oftype () ใน Linq
ฉันรับรู้ถึงวิธีการหล่อสองแบบIEnumerableจากArraylistใน Linq และสงสัยว่าจะใช้พวกเขาในกรณีใด เช่น IEnumerable<string> someCollection = arrayList.OfType<string>() หรือ IEnumerable<string> someCollection = arrayList.Cast<string>() อะไรคือความแตกต่างระหว่างสองวิธีนี้และฉันควรใช้แต่ละกรณีอย่างไร
211 c#  .net  linq 

4
วิธีรับค่าจาก IGrouping
ฉันมีคำถามเกี่ยวกับIGroupingและSelect()วิธีการ สมมติว่าฉันมีIEnumerable<IGrouping<int, smth>>วิธีนี้: var groups = list.GroupBy(x => x.ID); ที่เป็นlistList<smth> และตอนนี้ฉันต้องส่งค่าของแต่ละIGroupingรายการไปยังรายการอื่นด้วยวิธีใดวิธีหนึ่ง: foreach (var v in structure) { v.ListOfSmth = groups.Select(...); // <- ??? } ใครช่วยแนะนำวิธีการรับค่า ( List<smth>) จากIGrouping<int, smth>ในบริบทดังกล่าว?
211 c#  linq  select  igrouping 

4
วิธีการรวมรายการที่มีรายการประเภทเดียวกันเข้ากับรายการเดียว
คำถามสับสน แต่ชัดเจนกว่าที่อธิบายไว้ในรหัสต่อไปนี้: List<List<T>> listOfList; // add three lists of List<T> to listOfList, for example /* listOfList = new { { 1, 2, 3}, // list 1 of 1, 3, and 3 { 4, 5, 6}, // list 2 { 7, 8, 9} // list 3 }; */ List<T> list = …
209 c#  linq  lambda 

16
LINQ - เข้าร่วมเต็มด้านนอก
ฉันมีรายการ ID ของผู้คนและชื่อแรกของพวกเขาและรายการ ID ของผู้คนและนามสกุลของพวกเขา บางคนไม่มีชื่อและบางคนไม่มีนามสกุล ฉันต้องการเข้าร่วมเต็มรูปแบบภายนอกในสองรายการ ดังนั้นรายการต่อไปนี้: ID FirstName -- --------- 1 John 2 Sue ID LastName -- -------- 1 Doe 3 Smith ควรผลิต: ID FirstName LastName -- --------- -------- 1 John Doe 2 Sue 3 Smith ฉันใหม่กับ LINQ (โปรดยกโทษให้ฉันถ้าฉันเป็นคนอ่อนแอ) และพบวิธีแก้ปัญหาบางอย่างสำหรับ 'LINQ Outer Joins' ซึ่งทั้งหมดดูเหมือนกัน แต่ดูเหมือนจะถูกทิ้งไว้ด้านนอก ความพยายามของฉันจนถึงตอนนี้: private void …

4
รายการ Linq ของรายการไปยังรายการเดียว
ดูเหมือนว่านี่เป็นสิ่งที่จะได้รับคำตอบแล้ว แต่ฉันไม่พบมัน คำถามของฉันค่อนข้างง่ายฉันจะทำสิ่งนี้ได้อย่างไรในหนึ่งคำสั่งเพื่อให้ไม่ต้องมีรายการว่างใหม่จากนั้นรวมในบรรทัดถัดไปว่าฉันสามารถมีคำสั่ง linq เดียวที่แสดงรายการสุดท้ายของฉัน details คือรายการของแต่ละรายการที่มีรายการที่อยู่อาศัยฉันแค่ต้องการที่อยู่อาศัยทั้งหมดในรายการแบบเรียบ var residences = new List<DAL.AppForm_Residences>(); details.Select(d => d.AppForm_Residences).ToList().ForEach(d => residences.AddRange(d));
202 c#  linq 

3
เครื่องมือ SQL to LINQ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา มีเครื่องมือที่สามารถแปลงไวยากรณ์ SQL เป็นไวยากรณ์ LINQ หรือไม่ ผมแค่อยากจะเขียนคำสั่งขั้นพื้นฐานที่มีเข้าร่วม ฯลฯ เพื่อLINQ มันจะช่วยฉันได้มากเวลา
198 sql  linq 

9
วิธีการแปลงผลลัพธ์ linq เป็น HashSet หรือ HashedSet
ฉันมีคุณสมบัติในคลาสที่เป็น ISet ฉันกำลังพยายามดึงผลลัพธ์ของเคียวรี linq ลงในคุณสมบัตินั้น แต่ไม่สามารถหาวิธีทำได้ โดยทั่วไปมองหาส่วนสุดท้ายของสิ่งนี้: ISet<T> foo = new HashedSet<T>(); foo = (from x in bar.Items select x).SOMETHING; ยังสามารถทำสิ่งนี้: HashSet<T> foo = new HashSet<T>(); foo = (from x in bar.Items select x).SOMETHING;
196 c#  linq 

5
LINQ เพื่ออ่าน XML
ฉันได้รับไฟล์ XML นี้: <root> <level1 name="A"> <level2 name="A1" /> <level2 name="A2" /> </level1> <level1 name="B"> <level2 name="B1" /> <level2 name="B2" /> </level1> <level1 name="C" /> </root> ใครสามารถให้รหัส C # แก่ฉันโดยใช้ LINQ วิธีที่ง่ายที่สุดในการพิมพ์ผลลัพธ์นี้: (สังเกตช่องว่างเพิ่มเติมถ้ามันเป็นlevel2โหนด) A A1 A2 B B1 B2 C ขณะนี้ฉันได้รับรหัสนี้: XDocument xdoc = XDocument.Load("data.xml")); var lv1s = from lv1 …
194 c#  xml  linq  linq-to-xml 

16
ส่งคืนผลลัพธ์ประเภทที่ไม่ระบุชื่อหรือไม่
การใช้ตัวอย่างง่าย ๆ ด้านล่างวิธีที่ดีที่สุดในการส่งคืนผลลัพธ์จากหลายตารางโดยใช้ Linq เป็น SQL คืออะไร พูดว่าฉันมีสองตาราง: Dogs: Name, Age, BreedId Breeds: BreedId, BreedName BreedNameผมต้องการที่จะกลับสุนัขทั้งหมดที่มีของพวกเขา ฉันควรให้สุนัขทุกตัวใช้สิ่งนี้โดยไม่มีปัญหา: public IQueryable<Dog> GetDogs() { var db = new DogDataContext(ConnectString); var result = from d in db.Dogs join b in db.Breeds on d.BreedId equals b.BreedId select d; return result; } แต่ถ้าฉันต้องการสุนัขที่มีสายพันธุ์และลองสิ่งนี้ฉันมีปัญหา: public IQueryable<Dog> GetDogsWithBreedNames() …
194 c#  linq  linq-to-sql 

7
วิธีรับดัชนีของรายการในรายการในขั้นตอนเดียว?
ฉันจะค้นหาดัชนีของรายการในรายการโดยไม่วนซ้ำได้อย่างไร ขณะนี้สิ่งนี้ดูไม่ดีนัก - ค้นหารายการเดียวกันสองครั้งเพื่อรับดัชนี: var oProp = something; int theThingIActuallyAmInterestedIn = myList.IndexOf(myList.Single(i => i.Prop == oProp));
193 c#  linq  lookup 

4
รหัสเทียบเท่ากับคำสำคัญ 'ปล่อย' ในการเรียกใช้เมธอดส่วนขยาย LINQ ที่ถูกล่ามโซ่
ด้วยการใช้คุณสมบัติการทำความเข้าใจแบบสอบถามคอมไพเลอร์ C # คุณสามารถเขียนโค้ดดังนี้: var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" }; var result = from animalName in names let nameLength = animalName.Length where nameLength > 3 orderby nameLength select animalName; ในการแสดงออกของแบบสอบถามข้างต้นletคำหลักที่ช่วยให้คุ้มค่าที่จะส่งผ่านไปข้างหน้าเพื่อที่และ orderby animalName.Lengthการดำเนินงานโดยไม่ต้องโทรซ้ำไป ชุดของวิธีการขยาย LINQ ที่เทียบเท่าที่เรียกว่าบรรลุคำหลัก "ให้" ทำอะไรที่นี่?

9
เรียนรู้เกี่ยวกับ LINQ [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ภาพรวม หนึ่งในสิ่งที่ผมเคยถามมากเกี่ยวกับบนเว็บไซต์นี้เป็นLINQ คำถามที่ฉันถามมีความหลากหลายและหลากหลายและมักจะไม่ค่อยมีบริบทด้านหลัง ดังนั้นในความพยายามที่จะรวบรวมความรู้ที่ฉันได้รับใน Linq ฉันโพสต์คำถามนี้เพื่อดูการบำรุงรักษาและการปรับปรุงด้วยข้อมูลเพิ่มเติมเมื่อฉันเรียนรู้เกี่ยวกับ LINQ ต่อไป ฉันหวังว่ามันจะเป็นแหล่งข้อมูลที่มีประโยชน์สำหรับคนอื่น ๆ ที่ต้องการเรียนรู้เกี่ยวกับ LINQ LINQ คืออะไร จากMSDN : โครงการ LINQ เป็นชื่อรหัสสำหรับชุดของส่วนขยายไปยัง. NET Framework ที่รวมการสืบค้นตั้งและแปลงภาษา มันขยาย C # และ Visual Basic ด้วยไวยากรณ์ภาษาท้องถิ่นสำหรับการสืบค้นและจัดให้มีห้องสมุดชั้นเรียนเพื่อใช้ประโยชน์จากความสามารถเหล่านี้ สิ่งนี้หมายความว่า LINQ ให้วิธีมาตรฐานในการสืบค้นแหล่งข้อมูลที่หลากหลายโดยใช้ไวยากรณ์ทั่วไป LINQ มีรสชาติอะไรบ้าง? ขณะนี้มีผู้ให้บริการ LINQ ที่แตกต่างกันเล็กน้อยจาก Microsoft: Linq to …

22
LINQ-to-SQL กับขั้นตอนการจัดเก็บ? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันดูที่โพสต์ "คู่มือสำหรับผู้เริ่มต้นเพื่อ LINQ" ที่นี่ใน StackOverflow ( คู่มือผู้เริ่มต้นเพื่อ LINQ ) แต่มีคำถามติดตาม: เรากำลังจะเปิดตัวโครงการใหม่ที่ฐานข้อมูลเกือบทั้งหมดของเราจะเป็นการดึงข้อมูลที่ค่อนข้างง่าย (มีอีกส่วนหนึ่งของโครงการที่เขียนข้อมูลไว้แล้ว) โครงการอื่น ๆ ของเราส่วนใหญ่จนถึงจุดนี้ใช้ประโยชน์จากขั้นตอนการจัดเก็บสำหรับสิ่งต่าง ๆ อย่างไรก็ตามฉันต้องการใช้ประโยชน์จาก LINQ-to-SQL ถ้าเหมาะสมกว่า ดังนั้นคำถามคือ: สำหรับการดึงข้อมูลอย่างง่ายวิธีใดดีกว่า LINQ-to-SQL หรือ procs ที่เก็บไว้? มืออาชีพที่เฉพาะเจาะจงหรือแย้ง? ขอบคุณ

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