คำถามติดแท็ก entity-framework

สำหรับคำถามเกี่ยวกับ ADO.NET Entity Framework เครื่องมือ Object-Relational-Mapping (ORM) สำหรับ. NET Framework โปรดเพิ่มแท็กเฉพาะเวอร์ชันหากมี อย่าใช้แท็กนี้สำหรับคำถาม Entity-Framework-core ใช้ entity-framework-core แทน

5
EF LINQ ประกอบด้วยเอนทิตีหลายแบบและซ้อนกัน
ตกลงฉันมีหน่วยงานสามระดับที่มีลำดับชั้นต่อไปนี้: หลักสูตร -> โมดูล -> บท นี่คือคำสั่ง EF LINQ ดั้งเดิม: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters)) .Single(x => x.Id == id); ตอนนี้ฉันต้องการรวมเอนทิตีอื่นที่เรียกว่าแล็บซึ่งเชื่อมโยงกับหลักสูตร ฉันจะรวมเอนทิตี Lab ได้อย่างไร ฉันลองสิ่งต่อไปนี้ แต่มันไม่ทำงาน: Course course = db.Courses .Include(i => i.Modules.Select(s => s.Chapters) && i.Lab) .Single(x => x.Id == id); มีความคิดเห็นเกี่ยวกับการรวม Entity ที่ 2 …

8
EF Code ก่อน“ ชื่อคอลัมน์ไม่ถูกต้อง 'Discriminator'” แต่ไม่มีการสืบทอด
ฉันมีตารางในฐานข้อมูลชื่อ SEntries (ดูด้านล่างคำสั่ง CREATE TABLE) มันมีคีย์หลักสองสามคีย์ต่างประเทศและไม่มีอะไรพิเศษเกี่ยวกับมัน ฉันมีตารางจำนวนมากในฐานข้อมูลของฉันคล้ายกับที่หนึ่ง แต่ด้วยเหตุผลบางอย่างตารางนี้จบลงด้วยคอลัมน์ "Discriminator" ใน EF Proxy Class นี่คือวิธีการประกาศคลาสใน C #: public class SEntry { public long SEntryId { get; set; } public long OriginatorId { get; set; } public DateTime DatePosted { get; set; } public string Message { get; set; } public byte …

8
Entity Framework Core เพิ่มรหัสข้อ จำกัด ที่ไม่ซ้ำใครก่อน
ฉันไม่สามารถหาวิธีเพิ่มข้อ จำกัด ที่ไม่ซ้ำในฟิลด์ของฉันด้วยการใช้แอตทริบิวต์: public class User { [Required] public int Id { get; set; } [Required] // [Index("IX_FirstAndSecond", 2, IsUnique = true)] not supported by core public string Email { get; set; } [Required] public string Password { get; set; } } ฉันใช้แพ็คเกจเหล่านี้: "Microsoft.EntityFrameworkCore": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.1", "Microsoft.EntityFrameworkCore.Tools": …


11
วิธีเพิ่ม / อัพเดตเอนทิตีชายด์เมื่ออัพเดตเอนทิตีพาเรนต์ใน EF
เอนทิตีทั้งสองนี้มีความสัมพันธ์แบบหนึ่งต่อหลายคน (สร้างโดยรหัส API แรกได้อย่างคล่องแคล่ว) public class Parent { public Parent() { this.Children = new List<Child>(); } public int Id { get; set; } public virtual ICollection<Child> Children { get; set; } } public class Child { public int Id { get; set; } public int ParentId { get; set; } …

30
ไม่พบประเภทหรือชื่อเนมสเปซ 'DbContext' [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันใหม่มากกับ ASP.NET MVC (3) และมีเวลายากในการแก้ไขข้อผิดพลาดในการสร้างใน Visual Studio: ไม่พบประเภทหรือชื่อเนมสเปซ 'DbContext' (คุณพลาดการใช้คำสั่งหรือการอ้างอิงแอสเซมบลีหรือไม่) using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; using System.Data.Entity; namespace MyProjectName.Models { public class MachineModel { // name [Required] [Display(Name = "Nom de la machine")] public string Name { …

21
นิติบุคคลประเภท <type> ไม่ได้เป็นส่วนหนึ่งของรูปแบบสำหรับบริบทปัจจุบัน
ฉันกำลังเข้าสู่ Entity Framework แต่ฉันไม่แน่ใจว่าฉันพลาดจุดสำคัญในวิธีการแบบรหัสแรกหรือไม่ ฉันใช้รูปแบบพื้นที่เก็บข้อมูลทั่วไปตามรหัสจากhttps://genericunitofworkandrepositories.codeplex.com/และได้สร้างเอนทิตีของฉันแล้ว แต่เมื่อฉันพยายามเข้าถึงหรือแก้ไขเอนทิตีฉันพบสิ่งต่อไปนี้: System.InvalidOperationException: ประเภทเอนทิตีไม่ได้เป็นส่วนหนึ่งของแบบจำลองสำหรับบริบทปัจจุบัน มันเกิดขึ้นเมื่อฉันพยายามเข้าถึงจากที่เก็บของฉัน: public virtual void Insert(TEntity entity) { ((IObjectState)entity).ObjectState = ObjectState.Added; _dbSet.Attach(entity); // &lt;-- The error occurs here _context.SyncObjectState(entity); } ฐานข้อมูล (./SQLEXPRESS) ถูกสร้างอย่างดี แต่เอนทิตี (ตาราง) ไม่ได้ถูกสร้างเมื่อเริ่มต้น ฉันสงสัยว่าฉันจำเป็นต้องตั้งค่าการแมปเอนทิตีหรือไม่ EF ไม่สามารถทำสิ่งนี้ได้ด้วยตนเอง เอนทิตีของฉันคือ: public class Estate : EntityBase { public int EstateId { get; set; } …

12
EntityType ไม่มีข้อผิดพลาดที่กำหนดคีย์
ควบคุม: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using MvcApplication1.Models; using System.ComponentModel.DataAnnotations.Schema; namespace MvcApplication1.Controllers { public class studentsController : Controller { // // GET: /students/ public ActionResult details() { int id = 16; studentContext std = new studentContext(); student first = std.details.Single(m =&gt; m.RollNo == id); return …

5
C # Entity-Framework: ฉันจะรวม. Find และ .Include บน Model Object ได้อย่างไร
ฉันกำลังทำแบบฝึกหัดฝึก mvcmusicstore ฉันสังเกตเห็นบางอย่างเมื่อสร้างนั่งร้านสำหรับตัวจัดการอัลบั้ม (เพิ่มการลบการแก้ไข) ฉันต้องการเขียนโค้ดอย่างหรูหราดังนั้นฉันกำลังมองหาวิธีการเขียนที่สะอาด FYI ฉันกำลังทำให้ร้านค้าเป็นแบบทั่วไปมากขึ้น: อัลบั้ม = รายการ ประเภท = หมวดหมู่ ศิลปิน = ยี่ห้อ นี่คือวิธีดึงดัชนี (สร้างโดย MVC): var items = db.Items.Include(i =&gt; i.Category).Include(i =&gt; i.Brand); นี่คือวิธีการดึงรายการออก: Item item = db.Items.Find(id); คนแรกนำกลับรายการทั้งหมดและเติมหมวดหมู่และรูปแบบแบรนด์ในรูปแบบรายการ อันที่สองไม่ได้เติมหมวดหมู่และยี่ห้อ ฉันจะเขียนอันที่สองเพื่อค้นหาและเติมค่าอะไรเข้าไปข้างใน (โดยเฉพาะอย่างยิ่งใน 1 บรรทัด) ... ในทางทฤษฎี - สิ่งที่ชอบ: Item item = db.Items.Find(id).Include(i =&gt; i.Category).Include(i =&gt; i.Brand);

3
สร้างสคริปต์ SQL เต็มรูปแบบจากการโยกย้ายรหัสแรกของ EF 5
ฉันจะใช้การโยกย้ายครั้งแรกของรหัส Entity Framework 5 เพื่อสร้างสคริปต์ฐานข้อมูลแบบเต็มจากสถานะเริ่มต้น (ว่าง) เป็นการย้ายข้อมูลล่าสุดได้อย่างไร บล็อกโพสต์ที่บล็อก MSDNแนะนำให้ทำเช่นนี้ แต่ดูเหมือนว่าจะสร้างสคริปต์เปล่า: Update-Database -Script -SourceMigration: $InitialDatabase

6
LINQ ไปยังหน่วยงานไม่รู้จักวิธีการล่าสุด จริงๆ?
ในแบบสอบถามนี้: public static IEnumerable&lt;IServerOnlineCharacter&gt; GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderBy(p =&gt; p.ServerStatus.ServerDateTime) .GroupBy(p =&gt; p.RawName) .Select(p =&gt; p.Last()); } ฉันต้องเปลี่ยนมันเพื่อใช้งานได้ public static IEnumerable&lt;IServerOnlineCharacter&gt; GetUpdated() { var context = DataContext.GetDataContext(); return context.ServerOnlineCharacters .OrderByDescending(p =&gt; p.ServerStatus.ServerDateTime) .GroupBy(p =&gt; p.RawName) .Select(p =&gt; p.FirstOrDefault()); } ฉันไม่สามารถใช้p.First()เพื่อสะท้อนคำถามแรก เหตุใดจึงมีข้อ จำกัด พื้นฐานในระบบ ORM ที่แข็งแกร่งเช่นนั้น
144 c#  entity-framework  orm 


7
วิธีสร้างฐานข้อมูลสำหรับ Entity Framework อีกครั้งได้อย่างไร
ฉันเข้าสู่สถานะไม่ดีกับโครงการ ASP.Net MVC 5 ของฉันโดยใช้ Code-First Entity Framework ฉันไม่สนใจที่จะสูญเสียข้อมูลฉันแค่ต้องการเริ่มต้นใหม่สร้างฐานข้อมูลและเริ่มใช้การโยกย้ายรหัสครั้งแรก ขณะนี้ฉันอยู่ในสถานะที่พยายามอัปเดตฐานข้อมูลทุกครั้งทำให้เกิดข้อยกเว้นที่ถูกส่งออกไปหรือได้รับข้อความแสดงข้อผิดพลาด นอกจากนี้เว็บไซต์ไม่สามารถเข้าถึงฐานข้อมูลได้อย่างถูกต้อง ฉันจะล้างข้อมูลการโยกย้ายทั้งหมดสร้างฐานข้อมูลใหม่และเริ่มต้นจากศูนย์โดยไม่ต้องสร้างโครงการใหม่ได้อย่างไร กล่าวอีกนัยหนึ่งฉันต้องการเก็บรหัสของฉัน แต่ปล่อยฐานข้อมูล หลังจากนั้นฉันจะต้องการรับฐานข้อมูลการปรับใช้ (SQL Server บน Azure) ด้วย อีกครั้งฉันไม่รังเกียจที่จะทิ้งข้อมูลทั้งหมด - ฉันแค่อยากให้มันใช้งานได้ โปรดระบุขั้นตอนวิธีการใด ๆ เพื่อกลับสู่สถานะที่สะอาด ชื่นชมมาก

2
Entity Framework. ลบ () เทียบกับ. RemoveObject ()
คุณสามารถลบรายการออกจากฐานข้อมูลโดยใช้ EF โดยใช้สองวิธีต่อไปนี้ EntityCollection.Remove วิธีการ ObjectContext.DeleteObject วิธีการ ที่แรกก็คือบนและครั้งที่สองในนั้นEntityCollectionObjectContext ควรใช้แต่ละครั้งเมื่อใด เป็นที่ชื่นชอบมากกว่าคนอื่น ๆ ? Remove()ผลตอบแทนboolและผลตอบแทนDeleteObject()void


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