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

แท็กนี้มีไว้สำหรับคำถามเกี่ยวกับ LINQ to Entities ซึ่งหมายถึงการสืบค้น LINQ โดยใช้ ADO.NET Entity Framework โปรดทราบว่าสิ่งนี้แตกต่างจาก LINQ กับ SQL หรือผู้ให้บริการ LINQ อื่น ๆ

5
Entity Framework VS LINQ ไปยัง SQL VS ADO.NET พร้อมโพรซีเดอร์ที่เก็บไว้? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดเมื่อปีที่แล้ว คุณจะให้คะแนนแต่ละคนอย่างไรในแง่ของ: ประสิทธิภาพ ความเร็วในการพัฒนา รหัสที่ใช้งานง่ายสามารถบำรุงรักษาได้ มีความยืดหยุ่น ทั้งหมด ฉันชอบ SQL ของฉันและเป็นแฟนตัวยงของ ADO.NET และขั้นตอนการจัดเก็บอยู่เสมอ แต่เมื่อเร็ว ๆ นี้ฉันได้เล่นกับ Linq ไปยัง SQL และถูกลมพัดปลิวไปตามความเร็วที่ฉันเขียนชั้น DataAccess และตัดสินใจที่จะใช้จ่ายอย่างรวดเร็ว บางครั้งการเข้าใจ Linq ถึง SQL หรือ EF ... หรือไม่? ฉันแค่ต้องการตรวจสอบว่าไม่มีข้อบกพร่องที่ยอดเยี่ยมในเทคโนโลยีเหล่านี้ที่จะทำให้เวลาในการวิจัยของฉันไร้ประโยชน์ ประสิทธิภาพเช่นแย่มากมันยอดเยี่ยมสำหรับแอพที่เรียบง่าย แต่สามารถพาคุณไปได้ไกล ปรับปรุง: คุณสามารถมุ่งความสนใจไปที่ EF VS L2S VS SP ได้มากกว่า ORM VS SPs …

14
วิธีทำ SQL Like% ใน Linq
ฉันมีขั้นตอนใน SQL ที่ฉันพยายามเปลี่ยนเป็น Linq: SELECT O.Id, O.Name as Organization FROM Organizations O JOIN OrganizationsHierarchy OH ON O.Id=OH.OrganizationsId where OH.Hierarchy like '%/12/%' บรรทัดที่ฉันกังวลมากที่สุดคือ: where OH.Hierarchy like '%/12/%' ฉันมีคอลัมน์ที่เก็บลำดับชั้นเช่น / 1/3/12 / ดังนั้นฉันจึงใช้% / 12 /% เพื่อค้นหา คำถามของฉันคือ Linq หรือ. NET เทียบเท่ากับการใช้เครื่องหมายเปอร์เซ็นต์คืออะไร?

10
วิธีการใช้ DbContext.Database.SqlQuery <TElement> (sql, params) กับโพรซีเดอร์ที่เก็บไว้? รหัส EF แรก CTP5
ฉันมีกระบวนงานที่เก็บไว้ซึ่งมีพารามิเตอร์สามตัวและฉันได้ลองใช้วิธีการต่อไปนี้เพื่อส่งคืนผลลัพธ์: context.Database.SqlQuery&lt;myEntityType&gt;("mySpName", param1, param2, param3); ตอนแรกฉันพยายามใช้SqlParameterวัตถุเป็น params แต่มันใช้งานไม่ได้และขว้างSqlExceptionด้วยข้อความต่อไปนี้: ขั้นตอนหรือฟังก์ชัน 'mySpName' คาดว่าพารามิเตอร์ '@ param1' ซึ่งไม่ได้ให้มา ดังนั้นคำถามของฉันคือคุณสามารถใช้วิธีนี้กับโพรซีเดอร์ที่เก็บซึ่งคาดว่าพารามิเตอร์ได้อย่างไร ขอบคุณ


15
ปัญหาเกี่ยวกับการแปลง int เป็นสตริงใน Linq เป็นเอนทิตี
var items = from c in contacts select new ListItem { Value = c.ContactId, //Cannot implicitly convert type 'int' (ContactId) to 'string' (Value). Text = c.Name }; var items = from c in contacts select new ListItem { Value = c.ContactId.ToString(), //Throws exception: ToString is not supported in linq to …

8
การแปลงค่าเป็นประเภท 'Int32' ล้มเหลวเนื่องจากค่าวัสดุจริงเป็นโมฆะ
ฉันมีรหัสต่อไปนี้ ฉันได้รับข้อผิดพลาด: "การแปลงค่าเป็นประเภท 'Int32' ล้มเหลวเนื่องจากค่าวัสดุเป็นโมฆะพารามิเตอร์ทั่วไปของประเภทผลลัพธ์หรือแบบสอบถามต้องใช้ประเภทที่ไม่สามารถใช้ได้" เมื่อ CreditHistory ตารางไม่มีบันทึก var creditsSum = (from u in context.User join ch in context.CreditHistory on u.ID equals ch.UserID where u.ID == userID select ch.Amount).Sum(); ฉันจะแก้ไขแบบสอบถามเพื่อยอมรับค่า Null ได้อย่างไร

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

12
Entity Framework 4 / POCO - จะเริ่มที่ไหนดี [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเคยเขียนโปรแกรมมาระยะหนึ่งแล้วและเคยใช้ LINQ-To-SQL และ LINQ-To-Entities มาก่อน (แม้ว่าเมื่อใช้เอนทิตีมันมีความสัมพันธ์แบบ Entity / Table 1-1 - กล่าวคือไม่แตกต่างจาก L2SQL มาก) ฉันอ่านเกี่ยวกับ Inversion of Control, หน่วยงาน, POCO และรูปแบบพื้นที่เก็บข้อมูลจำนวนมากและต้องการใช้วิธีการนี้ในแอปพลิเคชันใหม่ของฉัน สิ่งที่ฉันกำลังดิ้นรนคือการหาคู่มือเริ่มต้นที่ชัดเจนและกระชับสำหรับ EF4 ซึ่งไม่ถือว่าเป็นความรู้ของ EF1 คำถามเฉพาะที่ฉันต้องการคำตอบคือ: รหัสแรก / รุ่นแรก ข้อดี / ข้อเสียเกี่ยวกับ EF4 (เช่นจะเกิดอะไรขึ้นถ้าฉันทำรหัสก่อนเปลี่ยนรหัสในภายหลังและจำเป็นต้องสร้างแบบจำลองฐานข้อมูลของฉันใหม่ - ข้อมูลได้รับการเก็บรักษาและแปลงหรือลดลงหรือไม่) สมมติว่าฉันจะใช้รหัสก่อน (ฉันต้องการดูว่า EF4 แปลงให้เป็น …

2
Linq to Entities เข้าร่วม vs groupjoin
ฉันค้นเว็บแล้ว แต่ฉันยังหาคำตอบง่าย ๆ ไม่ได้ มีคนช่วยอธิบายด้วยภาษาอังกฤษง่ายๆGroupJoinได้ไหม? มันแตกต่างจากภายในทั่วไปJoinอย่างไร ใช้บ่อยไหม มันเป็นเพียงไวยากรณ์ของวิธีการ? สิ่งที่เกี่ยวกับไวยากรณ์แบบสอบถาม ตัวอย่างรหัส c # น่าจะดี

4
ความแตกต่างระหว่าง. ToList (), .AsEnumerable (), AsQueryable () คืออะไร
ฉันรู้ถึงความแตกต่างบางอย่างของ LINQ กับเอนทิตีและ LINQ กับออบเจกต์ซึ่งการใช้งานครั้งแรกIQueryableและการใช้งานครั้งที่สองIEnumerableและขอบเขตคำถามของฉันอยู่ภายใน EF 5 คำถามของฉันคือความแตกต่างทางเทคนิคของ 3 วิธีดังกล่าวอย่างไร ฉันเห็นว่าในหลาย ๆ สถานการณ์พวกเขาทั้งหมดทำงาน ฉันเห็นการใช้ชุดค่าผสมของพวกเขาเช่น.ToList().AsQueryable()กัน วิธีการเหล่านั้นหมายถึงอะไรกันแน่? มีปัญหาเรื่องประสิทธิภาพหรืออะไรที่จะนำไปสู่การใช้อันใดอันหนึ่ง? ทำไมคนเราถึงใช้ตัวอย่างเช่น.ToList().AsQueryable()แทนที่จะเป็น.AsQueryable()?

9
“ การแสดงออกแลมบ์ดาที่มีเนื้อหาข้อความไม่สามารถแปลงเป็นต้นไม้แสดงออกได้”
ในการใช้EntityFrameworkฉันได้รับข้อผิดพลาด " A lambda expression with a statement body cannot be converted to an expression tree" เมื่อพยายามรวบรวมรหัสต่อไปนี้: Obj[] myArray = objects.Select(o =&gt; { var someLocalVar = o.someVar; return new Obj() { Var1 = someLocalVar, Var2 = o.var2 }; }).ToArray(); ฉันไม่ทราบว่าข้อผิดพลาดหมายถึงอะไรและส่วนใหญ่จะแก้ไขได้อย่างไร ความช่วยเหลือใด ๆ

5
String.IsNullOrWhiteSpace ใน LINQ Expression
ฉันมีรหัสต่อไปนี้: return this.ObjectContext.BranchCostDetails.Where( b =&gt; b.TarrifId == tariffId &amp;&amp; b.Diameter == diameter || (b.TarrifId==tariffId &amp;&amp; !string.IsNullOrWhiteSpace(b.Diameter)) || (!b.TarrifId.HasValue) &amp;&amp; b.Diameter==diameter); และฉันได้รับข้อผิดพลาดนี้เมื่อฉันพยายามเรียกใช้รหัส: LINQ to Entities ไม่รู้จักวิธีการ 'Boolean IsNullOrWhiteSpace (System.String)' วิธีการและวิธีนี้ไม่สามารถแปลเป็นนิพจน์ร้านค้าได้ " ฉันจะแก้ปัญหานี้และเขียนรหัสได้ดีกว่านี้ได้อย่างไร

9
ประเภทสมาชิกที่ระบุ 'วันที่' ไม่ได้รับการสนับสนุนใน LINQ ไปยังเอนทิตี เฉพาะผู้เริ่มต้นสมาชิกเอนทิตีและคุณสมบัติการนำทางเอนทิตี
การใช้รหัสนี้ในEntity Frameworkฉันได้รับข้อผิดพลาดดังต่อไปนี้ ฉันต้องการรับแถวทั้งหมดสำหรับวันที่ระบุDateTimeStartเป็นประเภท DataType ในรูปแบบนี้2013-01-30 12:00:00.000 รหัส: var eventsCustom = eventCustomRepository.FindAllEventsCustomByUniqueStudentReference(userDevice.UniqueStudentReference) .Where(x =&gt; x.DateTimeStart.Date == currentDateTime.Date); ข้อผิดพลาด: base {System.SystemException} = {"สมาชิกประเภทที่ระบุ 'Date' ไม่ได้รับการสนับสนุนใน LINQ ไปยัง Entities สนับสนุนเฉพาะ initializers, สมาชิกเอนทิตีและคุณสมบัติการนำทางเอนทิตี"} ความคิดใด ๆ วิธีการแก้ไขหรือไม่

4
วิธีรับบันทึกแรกในแต่ละกลุ่มโดยใช้ Linq
พิจารณาบันทึกต่อไปนี้: Id F1 F2 F3 ------------------------------------------------- 1 Nima 1990 10 2 Nima 1990 11 3 Nima 2000 12 4 John 2001 1 5 John 2002 2 6 Sara 2010 4 ฉันต้องการจัดกลุ่มตามF1เขตข้อมูลและจัดเรียงIdและรับเขตข้อมูลทั้งหมดจากระเบียนแรกของกลุ่มที่คล้ายกับระเบียนเหล่านี้: Id F1 F2 F3 ------------------------------------------------- 1 Nima 1990 10 4 John 2001 1 6 Sara 2010 4 ฉันจะทำสิ่งนี้โดยใช้ linq …

14
รองรับเฉพาะตัวสร้างและตัวเริ่มต้นที่ไม่มีพารามิเตอร์เท่านั้นใน LINQ ถึงเอนทิตี
ฉันมีข้อผิดพลาดนี้ในนิพจน์ linq นี้: var naleznosci = (from nalTmp in db.Naleznosci where nalTmp.idDziecko == idDziec select new Payments ( nalTmp.Dziecko.Imie, nalTmp.Dziecko.Nazwisko, nalTmp.Miesiace.Nazwa, nalTmp.Kwota, nalTmp.RodzajeOplat.NazwaRodzajuOplaty, nalTmp.RodzajeOplat.TypyOplat.NazwaTypuOplaty, nalTmp.DataRozliczenia, nalTmp.TerminPlatnosci )).ToList(); มีความคิดอย่างไรในการแก้ปัญหานี้ ฉันลองใช้การแสดงออกร่วมกัน ... : /

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