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

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

21
โมเดลที่สำรองบริบท 'ApplicationDbContext' มีการเปลี่ยนแปลงตั้งแต่สร้างฐานข้อมูล
ก่อนอื่นฉันไม่เห็นข้อผิดพลาดนี้ที่อื่นและฉันคิดว่าไม่ใช่การจำลองแบบดังนั้นโปรดอ่านสถานการณ์ทั้งหมดก่อน ทุกอย่างทำงานได้ดีจากนั้นฉันพยายามอัปเดตคลาสโมเดลหนึ่งของฉัน ( คลาสแอพและการอัปเดตจะแสดงความคิดเห็น) ซึ่งฉันจะแสดงรายการด้านล่าง และบูมฉันมีข้อผิดพลาดที่น่าเกลียดนี้ โมเดลที่สำรองบริบท 'ApplicationDbContext' มีการเปลี่ยนแปลงตั้งแต่สร้างฐานข้อมูล พิจารณาใช้ Code First Migrations เพื่ออัปเดตฐานข้อมูล ( http://go.microsoft.com/fwlink/?LinkId=238269 ) ใน System.Data.Entity.CreateDatabaseIfNotExists 1.InitializeDatabase(TContext context) at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf1.b__e () ที่ System.Data.Entity.Internal.InternalContext.PerformInitializationAction (การดำเนินการดำเนินการ) ที่ System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization () ที่ System.Data.Entity Internal.LazyInternalContext.b__4 (InternalContext c) ที่1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(ActionการดำเนินการSystem.Data.Entity.Internal.RetryAction 1) ที่ System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase () ที่ System.Data.Entity.Internal.InternalContext entityType) ที่ System.Data.Entity.Internal.Linq.InternalSet1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet1. …


8
ฉันจะใช้ OrderBy บน IQueryable โดยใช้ชื่อคอลัมน์สตริงภายในวิธีการขยายทั่วไปได้อย่างไร
public static IQueryable<TResult> ApplySortFilter<T, TResult>(this IQueryable<T> query, string columnName) where T : EntityObject { var param = Expression.Parameter(typeof(T), "o"); var body = Expression.PropertyOrField(param,columnName); var sortExpression = Expression.Lambda(body, param); return query.OrderBy(sortExpression); } เนื่องจากประเภทของ OrderBy ไม่ได้อนุมานจาก sortExpression ฉันต้องระบุสิ่งนี้ในขณะทำงาน: var sortExpression = Expression.Lambda<T, TSortColumn>(body, param); หรือ return query.OrderBy<T, TSortColumn>(sortExpression); ฉันไม่คิดว่าจะเป็นไปได้อย่างไรก็ตามเนื่องจาก TSortColumn สามารถกำหนดได้ในระหว่างรันไทม์เท่านั้น มีวิธีแก้ปัญหานี้หรือไม่?

8
วิธีการนับทรัพย์สินเทียบกับจำนวน ()?
การทำงานกับคอลเลกชันฉันมีสองวิธีในการนับวัตถุ Count(คุณสมบัติ) และCount()(วิธีการ) ไม่มีใครรู้ว่าความแตกต่างที่สำคัญคืออะไร? ฉันอาจจะผิด แต่ฉันมักจะใช้Countคุณสมบัติในคำสั่งเงื่อนไขใด ๆ เพราะฉันสมมติว่าCount()เมธอดใช้แบบสอบถามบางประเภทกับคอลเลกชันโดยที่Countต้องได้รับมอบหมายก่อนที่ฉันจะ 'รับ' แต่นั่นเป็นการเดา - ฉันไม่รู้ว่าประสิทธิภาพจะได้รับผลกระทบหรือไม่ถ้าฉันผิด แก้ไข: ด้วยความอยากรู้อยากเห็นจะทำให้Count()เกิดข้อยกเว้นหากคอลเล็กชันเป็นโมฆะ? เพราะฉันค่อนข้างมั่นใจว่าCountคุณสมบัติจะคืนค่าเป็น 0
85 c#  linq  list  collections  count 

1
แปลง IAsyncEnumerable เป็น List
ดังนั้นใน C # 8 เราจึงได้เพิ่มIAsyncEnumerableส่วนต่อประสาน หากเรามีสิ่งปกติIEnumerableเราสามารถสร้างListคอลเล็กชั่นอื่น ๆ ที่เราต้องการได้ ขอบคุณ Linq ที่นั่น var range = Enumerable.Range(0, 100); var list = range.ToList(); ตอนนี้ฉันต้องการแปลงIAsyncEnumerableเป็น a Listและแน่นอนแบบอะซิงโครนัส มีการใช้งาน Linq สำหรับกรณีนั้นหรือไม่? ถ้าไม่มีฉันจะแปลงเป็นตัวเองได้อย่างไร

2
วิธีการเข้าร่วมกลุ่มใน. NET Core 3.0 Entity Framework
ด้วยการเปลี่ยนแปลงใน. NET Core 3.0 ฉันได้รับ ... NavigationExpanding ExpressionVisitor 'ล้มเหลว สิ่งนี้อาจบ่งบอกถึงข้อบกพร่องหรือข้อ จำกัด ใน EF Core ดู https://go.microsoft.com/fwlink/?linkid=2101433สำหรับข้อมูลรายละเอียดเพิ่มเติม) ---> System.InvalidOperationException: การประมวลผลนิพจน์ LINQ 'GroupJoin, ... นี่เป็นแบบสอบถามที่ง่ายมากดังนั้นจึงต้องมีวิธีดำเนินการใน. NET CORE 3.0: var queryResults1 = await patients .GroupJoin( _context.Studies, p => p.Id, s => s.Patient.Id, (p, studies) => new { p.DateOfBirth, p.Id, p.Name, p.Sex, Studies =studies.Select(s1=>s1) …

1
ทำไมมันเร็วขึ้นถ้าฉันใส่ ToArray พิเศษก่อน ToLookup
เรามีวิธีสั้น ๆ ที่แยกวิเคราะห์ไฟล์. csv ไปที่การค้นหา: ILookup<string, DgvItems> ParseCsv( string fileName ) { var file = File.ReadAllLines( fileName ); return file.Skip( 1 ).Select( line => new DgvItems( line ) ).ToLookup( item => item.StocksID ); } และคำจำกัดความของ DgvItems: public class DgvItems { public string DealDate { get; } public string StocksID { …
10 c#  linq 

1
ข้อมูลประเภทการอ้างอิงที่เป็นโมฆะไม่ถูกเปิดเผยจาก FirstOrDefault
ฉันต้องการทดสอบคุณลักษณะการอ้างอิงชนิด nullableใหม่ใน C # 8.0 ฉันเริ่มโครงการใหม่ที่กำหนดเป้าหมายเป็น. NET Core 3.0 เปิดใช้งานประเภทการอ้างอิง nullable ใน.csprojไฟล์และเริ่มการเข้ารหัส ฉันสร้างรายการที่เรียบง่ายที่จะใช้เวลาstring[]และการส่งกลับในอาร์เรย์ที่เท่าเทียมกันstring abcตอนนี้เนื่องจากฉันไม่แน่ใจว่าabcมีอยู่จริงในอาร์เรย์ฉันใช้FirstOrDefault()ซึ่งควรเริ่มต้นnullหากไม่พบการจับคู่ using System; using System.Linq; public string FindArgument(string[] args) { var arg = args.FirstOrDefault(x => x == "abc"); return arg; } วิธีการส่งกลับของฉันstringซึ่งควรในขณะนี้เป็นที่ไม่ใช่ nullableประเภท เนื่องจากFirstOrDefault()อาจส่งคืนnullฉันคาดหวังว่าวิธีการข้างต้นให้คำเตือนเมื่อส่งกลับตัวแปรอาจเป็นโมฆะ argมันไม่ใช่. เมื่อมองที่ลายเซ็นต์สำหรับFirstOrDefault()ใน Visual Studio จะเห็นได้ชัดว่าทำไม : วิธีการส่งกลับค่าstringไม่ใช่สิ่งที่เทียบเท่าได้ซึ่งstring?ฉันคาดหวัง การใช้วิธีการต่อไปนี้จะให้คำเตือนที่ฉันคาดไว้ var arg = args.Contains("abc") ? …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.