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

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

3
ทำไม LINQ JOIN จึงเร็วกว่าการเชื่อมโยงกับ WHERE มาก?
ฉันเพิ่งอัปเกรดเป็น VS 2010 และกำลังเล่นกับ LINQ เป็น Dataset ฉันมีชุดข้อมูลที่พิมพ์แน่นหนาสำหรับการอนุญาตที่อยู่ใน HttpCache ของ ASP.NET WebApplication ฉันจึงอยากรู้ว่าอะไรคือวิธีที่เร็วที่สุดในการตรวจสอบว่าผู้ใช้ได้รับอนุญาตให้ทำบางสิ่งหรือไม่ นี่คือรูปแบบข้อมูลของฉันและข้อมูลอื่น ๆ หากมีใครสนใจ ฉันตรวจสอบแล้ว 3 วิธี: ฐานข้อมูลโดยตรง แบบสอบถาม LINQ กับที่ไหนเงื่อนไขที่ "เข้าร่วม" - ไวยากรณ์ แบบสอบถาม LINQ พร้อมเข้าร่วม - ไวยากรณ์ นี่คือผลลัพธ์ที่มีการโทร 1,000 ครั้งในแต่ละฟังก์ชัน: 1. การนึ่ง: 4,2841519 วินาที 115,7796925 วินาที 2,024749 วินาที 2. การนึ่ง: 3,1954857 วินาที 84,97047 วินาที 1,5783397 วินาที …

4
วิธีที่ชอบในการสร้างลำดับ <T> ของ IEnumerable ใหม่จากค่าเดียว?
ฉันมักจะสร้างลำดับจากค่าเดียวโดยใช้ไวยากรณ์ของอาร์เรย์ดังนี้: IEnumerable&lt;string&gt; sequence = new string[] { "abc" }; หรือใช้รายการใหม่ ฉันต้องการทราบว่าใครมีวิธีที่ชัดเจนกว่านี้ในการทำสิ่งเดียวกันนี้
98 c#  linq  c#-3.0 

3
Linq Syntax - การเลือกหลายคอลัมน์
นี่คือ Linq Syntax ของฉันที่ฉันใช้กับโมเดลเอนทิตีของฉัน IQueryable&lt;string&gt; objEmployee = null; objEmployee = from res in _db.EMPLOYEEs where (res.EMAIL == givenInfo || res.USER_NAME == givenInfo) select res.EMAIL; ฉันจะเลือกหลายคอลัมน์ได้อย่างไร เช่นฉันต้องการเลือก res.ID เช่นกัน และฉันจะรับสิ่งเหล่านั้นได้อย่างไร? ฉันคิดว่า IQueryable จะไม่ได้ผล และนี่เรียกว่า Linq เป็น SQL - ใช่ไหม?

6
LINQ ใช้ Max () เพื่อเลือกแถวเดียว
ฉันใช้ LINQ บน IQueryable ที่ส่งคืนจาก NHibernate และฉันต้องการเลือกแถวที่มีค่าสูงสุดในสองฟิลด์ ฉันได้ทำให้บิตที่ฉันยึดติดง่ายขึ้น ฉันต้องการเลือกหนึ่งแถวจากตารางของฉันด้วยค่าสูงสุดในหนึ่งฟิลด์ var table = new Table { new Row(id: 1, status: 10), new Row(id: 2, status: 20) } from u in table group u by 1 into g where u.Status == g.Max(u =&gt; u.Status) select u สิ่งนี้ไม่ถูกต้อง แต่ฉันไม่สามารถหาแบบฟอร์มที่ถูกต้องได้ BTW สิ่งที่ฉันพยายามจะบรรลุคือประมาณนี้: var clientAddress …
98 c#  .net  linq 

1
เหตุใดคอมไพเลอร์ C # จึงคลั่งไคล้ในแบบสอบถาม LINQ ที่ซ้อนกันนี้
ลองคอมไพล์โค้ดต่อไปนี้แล้วคุณจะพบว่าคอมไพเลอร์ใช้ RAM มากกว่า 3 GB (หน่วยความจำว่างทั้งหมดในเครื่องของฉัน) และคอมไพล์นานมาก (อันที่จริงฉันได้รับข้อยกเว้น IO หลังจาก 10 นาที) using System; using System.Linq; public class Test { public static void Main() { Enumerable.Range(0, 1).Sum(a =&gt; Enumerable.Range(0, 1).Sum(b =&gt; Enumerable.Range(0, 1).Sum(c =&gt; Enumerable.Range(0, 1).Sum(d =&gt; Enumerable.Range(0, 1).Sum(e =&gt; Enumerable.Range(0, 1).Sum(f =&gt; Enumerable.Range(0, 1).Count(g =&gt; true))))))); } } ใครสามารถอธิบายพฤติกรรมที่น่าสงสัยนี้ได้หรือไม่? …
97 c#  linq 

14
วิธีการแบนต้นไม้ผ่าน LINQ
ดังนั้นฉันจึงมีต้นไม้ง่ายๆ: class MyNode { public MyNode Parent; public IEnumerable&lt;MyNode&gt; Elements; int group = 1; } ฉันมีIEnumerable&lt;MyNode&gt;. ฉันต้องการรับรายการทั้งหมดMyNode(รวมถึงวัตถุโหนดภายใน ( Elements)) เป็นรายการWhere group == 1เดียว ต้องทำอย่างไรผ่าน LINQ?
97 c#  .net  linq  .net-4.0  tree 

3
ฉันจะทำ SELECT UNIQUE กับ LINQ ได้อย่างไร?
ฉันมีรายการดังนี้: Red Red Brown Yellow Green Green Brown Red Orange ฉันพยายามทำ SELECT UNIQUE ด้วย LINQ เช่นฉันต้องการ Red Brown Yellow Green Orange var uniqueColors = from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name; จากนั้นฉันก็เปลี่ยนสิ่งนี้เป็น var uniqueColors = from dbo in database.MainTable where dbo.Property == true select dbo.Color.Name.Distinct(); โดยไม่ประสบความสำเร็จ ครั้งแรกselectได้รับสีทั้งหมดดังนั้นฉันจะแก้ไขเพื่อให้ได้ค่าที่ไม่ซ้ำกันได้อย่างไร …

11
วิธีที่หรูหราในการรวมคอลเลกชันขององค์ประกอบต่างๆ
สมมติว่าฉันมีคอลเล็กชันตามจำนวนที่กำหนดแต่ละรายการมีวัตถุประเภทเดียวกัน (เช่นList&lt;int&gt; fooและList&lt;int&gt; bar) หากคอลเลกชันเหล่านี้อยู่ในคอลเลกชั่น (เช่นประเภทList&lt;List&lt;int&gt;&gt;ฉันสามารถใช้SelectManyเพื่อรวมทั้งหมดเป็นคอลเลกชั่นเดียว อย่างไรก็ตามหากคอลเลกชันเหล่านี้ไม่ได้อยู่ในคอลเลกชั่นเดียวกันฉันรู้สึกประทับใจที่ต้องเขียนวิธีการดังนี้: public static IEnumerable&lt;T&gt; Combine&lt;T&gt;(params ICollection&lt;T&gt;[] toCombine) { return toCombine.SelectMany(x =&gt; x); } ซึ่งฉันจะเรียกแบบนี้ว่า var combined = Combine(foo, bar); มีวิธีที่สะอาดและสวยงามในการรวมคอลเลกชัน (จำนวนเท่าใดก็ได้) โดยไม่ต้องเขียนวิธียูทิลิตี้เหมือนCombineข้างต้นหรือไม่? ดูเหมือนง่ายพอที่จะมีวิธีทำใน LINQ แต่อาจจะไม่ใช่

15
ฉันจะแก้ไขข้อยกเว้น“ ไม่พบแถวหรือเปลี่ยนแปลง” ใน LINQ เป็น SQL บนฐานข้อมูล SQL Server Compact Edition ได้อย่างไร
เมื่อดำเนินการ SubmitChanges ไปยัง DataContext หลังจากอัปเดตคุณสมบัติสองสามอย่างด้วยการเชื่อมต่อ LINQ กับ SQL (เทียบกับ SQL Server Compact Edition) ฉันได้รับข้อความ "ไม่พบแถวหรือเปลี่ยนแปลง" ChangeConflictException var ctx = new Data.MobileServerDataDataContext(Common.DatabasePath); var deviceSessionRecord = ctx.Sessions.First(sess =&gt; sess.SessionRecId == args.DeviceSessionId); deviceSessionRecord.IsActive = false; deviceSessionRecord.Disconnected = DateTime.Now; ctx.SubmitChanges(); แบบสอบถามสร้าง SQL ต่อไปนี้: UPDATE [Sessions] SET [Is_Active] = @p0, [Disconnected] = @p1 WHERE 0 …
96 .net  linq  linq-to-sql 

6
ฉันจะรับแถว MAX ที่มี GROUP BY ในแบบสอบถาม LINQ ได้อย่างไร
ฉันกำลังมองหาวิธีใน LINQ เพื่อจับคู่ SQL Query ต่อไปนี้ Select max(uid) as uid, Serial_Number from Table Group BY Serial_Number กำลังมองหาความช่วยเหลือเกี่ยวกับเรื่องนี้จริงๆ ข้อความค้นหาด้านบนได้รับ uid สูงสุดของ Serial Number แต่ละรายการเนื่องจากGroup Byไวยากรณ์
96 .net  linq  linq-to-sql 

3
Include () ทำอะไรใน LINQ?
ฉันพยายามทำการวิจัยมากมาย แต่ฉันเป็นคนชอบ db มากกว่าดังนั้นแม้แต่คำอธิบายใน MSDN ก็ไม่สมเหตุสมผลกับฉันเลย ใครก็ได้โปรดอธิบายและให้ตัวอย่างบางส่วนเกี่ยวกับInclude()คำแถลงในข้อกำหนดของSQLสืบค้น
96 sql  linq 

4
แลมบ์ดาต้นไม้นิพจน์ต้องไม่มีตัวดำเนินการขยายสัญญาณว่าง
คำถาม : บรรทัดprice = co?.price ?? 0,ในรหัสต่อไปนี้ทำให้ฉันมีข้อผิดพลาดข้างต้น แต่ถ้าผมลบ?จากการco.?ทำงานดี ผมพยายามที่จะทำตามตัวอย่างนี้ MSDNที่พวกเขาจะใช้?ในบรรทัดselect new { person.FirstName, PetName = subpet?.Name ?? String.Empty };ดังนั้นจึงดูเหมือนว่าฉันจะต้องเข้าใจเมื่อใช้?กับ??และเมื่อไม่ ข้อผิดพลาด : แลมบ์ดาต้นไม้นิพจน์ต้องไม่มีตัวดำเนินการขยายสัญญาณว่าง public class CustomerOrdersModelView { public string CustomerID { get; set; } public int FY { get; set; } public float? price { get; set; } .... .... } …

4
LINQ เข้าร่วมกับหลายเงื่อนไขใน On Clause
ฉันกำลังพยายามใช้แบบสอบถามใน LINQ ที่ใช้การรวมภายนอกด้านซ้ายที่มีหลายเงื่อนไขในส่วนคำสั่ง ON ฉันจะใช้ตัวอย่างของสองตารางต่อไปนี้Project (ProjectID, ProjectName) และTask (TaskID, ProjectID, TaskName, Completed) ฉันต้องการดูรายการทั้งหมดของโครงการทั้งหมดที่มีงานตามลำดับ แต่เฉพาะงานที่เสร็จสมบูรณ์ ฉันไม่สามารถใช้ตัวกรองCompleted == trueเพราะจะกรองโปรเจ็กต์ใด ๆ ที่ไม่มีงานที่เสร็จสมบูรณ์ออกไป แต่ฉันต้องการเพิ่มCompleted == trueในส่วนคำสั่ง ON ของการเข้าร่วมเพื่อให้แสดงรายการโครงการทั้งหมด แต่จะแสดงเฉพาะงานที่เสร็จสมบูรณ์เท่านั้น โครงการที่ไม่มีงานที่เสร็จสมบูรณ์จะแสดงแถวเดียวพร้อมค่าว่างสำหรับงาน นี่คือรากฐานของแบบสอบถาม from t1 in Projects join t2 in Tasks on new { t1.ProjectID} equals new { t2.ProjectID } into j1 from j2 in j1.DefaultIfEmpty() …
96 linq  join 

4
Roslyn รวบรวมโค้ดไม่สำเร็จ
หลังจากที่ฉันย้ายโปรเจ็กต์ของฉันจาก VS2013 เป็น VS2015 โปรเจ็กต์จะไม่สร้างอีกต่อไป ข้อผิดพลาดในการคอมไพล์เกิดขึ้นในคำสั่ง LINQ ต่อไปนี้: static void Main(string[] args) { decimal a, b; IEnumerable&lt;dynamic&gt; array = new string[] { "10", "20", "30" }; var result = (from v in array where decimal.TryParse(v, out a) &amp;&amp; decimal.TryParse("15", out b) &amp;&amp; a &lt;= b // Error here orderby decimal.Parse(v) …
95 c#  .net  linq  roslyn 

10
LINQ ชั้นนำสำหรับไลบรารี JavaScript คืออะไร [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน7 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังมองหาไลบรารี JavaScript ที่จะช่วยให้ฉันสืบค้นอ็อบเจ็กต์ JSON ที่ซับซ้อนโดยใช้ไวยากรณ์แบบ LINQ การค้นหาอย่างรวดเร็วพบตัวเลือกที่มีแนวโน้มสองสามตัวที่ดูเหมือนว่าพวกเขาอาจเสนอสิ่งที่ฉันต้องการ: LINQ เป็น JavaScriptและjLinq มีใครมีประสบการณ์ใช้งานบ้างไหม? ข้อดีข้อเสียมีอะไรบ้าง? ประสิทธิภาพเทียบได้หรือไม่? ไวยากรณ์การส่งผ่านฟังก์ชันของ LINQ ไปยัง JavaScript มีประโยชน์ที่ซ่อนอยู่หรือไม่ (โดยส่วนตัวแล้วฉันพบว่าไวยากรณ์ของ jLinq น่าสนใจกว่าเมื่อมองแวบแรก) หรือไม่ คุณพบว่าขาดอะไรในทั้งสองโครงการ? คุณเคยลองติดต่อผู้เขียนหรือไม่? พวกเขาตอบสนองแค่ไหน? โครงการใดใช้กันอย่างแพร่หลาย ฉันคิดว่าจะเป็นคนแรกที่ได้ทดลองใช้อย่างละเอียด
95 javascript  json  linq 

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