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

แท็กสำหรับ ADO.NET Entity Framework 4.x ซึ่งเป็นการแม็ปเชิงวัตถุเชิงสัมพันธ์สำหรับกรอบงาน. NET

4
Entity Framework 4 - AddObject vs Attach
ผมได้ทำงานกับ Entity Framework 4 เมื่อเร็ว ๆ นี้และกำลังสับสนเล็กน้อยว่าเมื่อใช้ObjectSet.AttachและObjectSet.AddObject จากความเข้าใจของฉัน: ใช้ "แนบ" เมื่อมีเอนทิตีอยู่แล้วในระบบ ใช้ "AddObject" เมื่อสร้างเอนทิตีใหม่ ดังนั้นถ้าฉันกำลังสร้างบุคคลใหม่ฉันจะทำสิ่งนี้ var ctx = new MyEntities(); var newPerson = new Person { Name = "Joe Bloggs" }; ctx.Persons.AddObject(newPerson); ctx.SaveChanges(); หากฉันแก้ไขบุคคลที่มีอยู่ฉันจะทำสิ่งนี้: var ctx = new MyEntities(); var existingPerson = ctx.Persons.SingleOrDefault(p => p.Name = "Joe Bloggs" }; existingPerson.Name …

6
รหัส EF ก่อน: ฉันจะดูคุณสมบัติ 'EntityValidationErrors' ได้จากคอนโซลแพคเกจ nuget ได้อย่างไร
ฉันกำลังแพ้เรื่องนี้: ฉันได้กำหนดคลาสของฉันสำหรับรหัสเอนทิตี Framework (4.1.3) วิธีแรก ทุกอย่างเรียบร้อย (ฉันสร้างตาราง ฯลฯ ) จนกระทั่งฉันเริ่ม Seed ตอนนี้เมื่อฉันทำ Add-Migration "remigrate" ; Update-Database; ฉันได้รับข้อผิดพลาดบนคอนโซลของแพคเกจ "การตรวจสอบล้มเหลวสำหรับเอนทิตี้อย่างน้อยหนึ่งรายการดูคุณสมบัติ 'EntityValidationErrors' สำหรับรายละเอียดเพิ่มเติม" ฉันมีจุดพักในวิธีการของฉัน Seed () แต่เนื่องจากฉันใช้สิ่งนี้บนคอนโซลเมื่อโปรเจ็กต์ไม่ทำงานฉัน clueless เป็นวิธีการรับรายละเอียด (PS - ฉันได้เห็นการตรวจสอบเธรดล้มเหลว สำหรับเอนทิตีหนึ่งแห่งหรือมากกว่าในขณะที่บันทึกการเปลี่ยนแปลงของฐานข้อมูลเซิร์ฟเวอร์ SQL โดยใช้ Entity Frameworkซึ่งแสดงวิธีที่ฉันสามารถดูคุณสมบัติได้) ฉันรู้ว่าวิธี Seed () ของฉันมีปัญหาเพราะถ้าฉันใส่คืนทันทีหลังจากการเรียกเมธอดข้อผิดพลาดจะหายไป ดังนั้นฉันจะตั้งค่าเบรกพอยต์ของฉันได้อย่างไรเพื่อดูว่าข้อผิดพลาดในการตรวจสอบคืออะไร คินหายไป หรือมีวิธีอื่นในการติดตามในคอนโซล nuget หรือไม่?

6
Entity Framework 4 Single () เทียบกับ First () เทียบกับ FirstOrDefault ()
ฉันมีปีศาจในการค้นหาการเปรียบเทียบวิธีต่างๆในการค้นหารายการเดียวและเวลาที่ควรใช้แต่ละรายการ ใครมีลิงค์ที่เปรียบเทียบสิ่งเหล่านี้ทั้งหมดหรือคำอธิบายสั้น ๆ ว่าทำไมคุณถึงใช้อันอื่น? ยังมีตัวดำเนินการอีกหรือไม่ที่ฉันไม่รู้จัก? ขอบคุณ.

5
ฉันจะแก้ไขสตริงการเชื่อมต่อ Entity Framework ได้อย่างไร
ฉันเพิ่งแก้ไขไฟล์ app.config ของฉันเพื่อเปลี่ยนสตริงการเชื่อมต่อสำหรับโมเดลข้อมูล Entity Framework ( .edmxไฟล์) แต่ฉันอยากรู้: มีวิธีแก้ไขสตริงการเชื่อมต่อ EF โดยใช้ตัวออกแบบหรือไม่? สตริงการเชื่อมต่อดั้งเดิมสร้างขึ้นโดยอัตโนมัติโดยตัวช่วยสร้างโมเดลข้อมูลเอนทิตี จากนั้นไม่สามารถเปลี่ยนแปลงสตริงการเชื่อมต่อได้ - ยังคงปิดใช้งานในหน้าต่างคุณสมบัติของตัวออกแบบ. edmx ฉันต้องการหลีกเลี่ยงการแก้ไข XML ด้วยมือหากทำได้ (ใน app.config) ดังนั้นฉันจึงสงสัยว่ามีวิธีกลับไปที่หน้าจอวิซาร์ดดั้งเดิมเพื่อทำการเปลี่ยนแปลงสตริงการเชื่อมต่อหรือไม่และให้เครื่องมือแก้ไขไฟล์ app.config สำหรับฉัน.

2
Entity Framework - เพิ่มคุณสมบัติการนำทางด้วยตนเอง
ฉันสร้าง Entity Framework Model (4.0) จากฐานข้อมูลของฉัน ฉันไม่ได้ออกแบบฐานข้อมูลและไม่มีการควบคุมสคีมา แต่มีตารางไม่กี่ตารางที่ไม่มีการกำหนดข้อ จำกัด ของคีย์ต่างประเทศ แต่มีการกำหนดความสัมพันธ์โดยนัย ตัวอย่างเช่น: ฉันมีตารางชื่อ People ที่มีคอลัมน์ต่อไปนี้: GenderID RaceID มีตารางสำหรับทั้ง Gender และ Race แต่ไม่มี Foreign Key ในตาราง People เมื่อฉันนำเข้าโมเดลมันไม่ได้เพิ่มคุณสมบัติการนำทางสำหรับความสัมพันธ์เหล่านี้ ฉันพยายามเพิ่มด้วยตนเอง แต่ From Role and To Role ถูกปิดใช้งาน ฉันไม่แน่ใจว่าจะเพิ่มความสัมพันธ์ด้วยตัวเองอย่างไร ฉันต้องทำอย่างไร

8
LINQ กับเอนทิตีการเปรียบเทียบแบบคำนึงถึงขนาดตัวพิมพ์
นี่ไม่ใช่การเปรียบเทียบแบบคำนึงถึงขนาดตัวพิมพ์ใน LINQ กับเอนทิตี: Thingies.First(t => t.Name == "ThingamaBob"); ฉันจะเปรียบเทียบกรณีที่สำคัญกับ LINQ กับเอนทิตีได้อย่างไร

10
ไม่สามารถลบวัตถุได้เนื่องจากไม่พบใน ObjectStateManager
ฉันได้รับข้อผิดพลาดนี้ "ไม่สามารถลบวัตถุได้เนื่องจากไม่พบใน ObjectStateManager" รหัสของฉันคือ: protected MyEntities sqlEntities; public virtual void Delete(TEntity entity) { System.Type t = typeof(TEntity); sqlEntities.DeleteObject(entity); sqlEntities.SaveChanges(); }

2
วิธีสร้างบริบทข้อมูล Entity Framework แบบอ่านอย่างเดียว
ฉันต้องการเปิดเผยบริบทข้อมูล Entity Framework กับปลั๊กอินของบุคคลที่สาม จุดประสงค์คือเพื่อให้ปลั๊กอินเหล่านี้ดึงข้อมูลเท่านั้นและไม่อนุญาตให้มีปัญหาในการแทรกอัปเดตหรือลบหรือคำสั่งแก้ไขฐานข้อมูลอื่น ๆ ดังนั้นฉันจะสร้างบริบทข้อมูลหรือเอนทิตีแบบอ่านอย่างเดียวได้อย่างไร

5
อัปเดตความสัมพันธ์เมื่อบันทึกการเปลี่ยนแปลงของออบเจ็กต์ EF4 POCO
Entity Framework 4, วัตถุ POCO และ ASP.Net MVC2 ฉันมีความสัมพันธ์แบบหลายต่อหลายคนสมมติว่าระหว่างบล็อกโพสต์และเอนทิตีแท็ก ซึ่งหมายความว่าใน T4 ของฉันสร้างคลาส POCO BlogPost ฉันมี: public virtual ICollection<Tag> Tags { // getter and setter with the magic FixupCollection } private ICollection<Tag> _tags; ฉันขอ BlogPost และแท็กที่เกี่ยวข้องจากอินสแตนซ์ของ ObjectContext และส่งไปยังเลเยอร์อื่น (ดูในแอปพลิเคชัน MVC) ต่อมาฉันจะกลับ BlogPost ที่อัปเดตพร้อมคุณสมบัติที่เปลี่ยนแปลงและความสัมพันธ์ที่เปลี่ยนไป ตัวอย่างเช่นมีแท็ก "A" "B" และ "C" และแท็กใหม่คือ "C" และ …

15
Entity Framework - ชื่อคอลัมน์ไม่ถูกต้อง '* _ID "
ฉันได้ จำกัด สิ่งนี้ให้แคบลงในบางปัญหาระหว่าง Code First และ Database first EF แต่ฉันไม่แน่ใจว่าจะแก้ไขอย่างไร ฉันจะพยายามทำให้ชัดเจนที่สุดเท่าที่จะทำได้ แต่จริงๆแล้วฉันพลาดความเข้าใจตรงนี้ไปบ้าง นี่คือ Entity Framework 4.4 ฉันรับช่วงโปรเจ็กต์ที่ใช้ Entity Framework แต่ไฟล์จริงหลายไฟล์ถูกลบโดยไม่มีทางย้อนกลับได้จริง ฉันเพิ่ม EF (ฐานข้อมูลก่อน) อีกครั้งและจำลองการตั้งค่า T4 ที่โครงการสร้างขึ้น สร้างโค้ดเวอร์ชันของโมเดลฐานข้อมูลทั้งหมดและไฟล์โค้ด DBContext หากสายอักขระการเชื่อมต่อของฉันดูเหมือนสตริงการเชื่อมต่อ. NET "ปกติ" ฉันได้รับข้อผิดพลาดเกี่ยวกับคอลัมน์ที่ไม่ถูกต้องชื่อ "ProcessState_ID" ไม่มีอยู่ ProcessState_ID ไม่ได้อยู่ในโค้ดเบสเลยมันไม่ได้อยู่ในไฟล์ EDMX หรืออะไรก็ตาม ดูเหมือนจะเป็นการแปลง EF อัตโนมัติบางส่วนในข้อความค้นหา เมื่อฉันสร้างสตริงการเชื่อมต่อให้ตรงกับโมเดล Entity Framework มันก็ใช้ได้ดี ตอนนี้ในการพยายามจับคู่รหัสก่อนหน้ากับ Entity Framework ฉันต้องการให้สตริงการเชื่อมต่อ. NET …

5
ฉันจะค้นหาตารางเฉพาะในรุ่น EDMX ของฉันอย่างรวดเร็วได้อย่างไร
ฉันสงสัยว่ามีใครรู้วิธีที่เร็วกว่าในการค้นหาตารางในรุ่น EDMX มากกว่าแค่เลื่อนดูแผนภาพและมองหาสิ่งนั้น ฐานข้อมูลของเรามีตารางประมาณ 50 ตารางและเมื่อฉันกำลังมองหาตารางที่เฉพาะเจาะจงมันเป็นเพียงงานที่น่าเบื่อที่จะดูว่า VS วางสิ่งนั้นไว้ที่ไหน ฉันใช้ VS 2010 เพื่อจุดประสงค์ของคำถามนี้ ขอบคุณล่วงหน้า.

13
คุณสมบัติที่ขึ้นต่อกันใน ReferentialConstraint ถูกแมปกับคอลัมน์ที่สร้างโดยร้านค้า
ฉันได้รับข้อผิดพลาดนี้เมื่อเขียนไปยังฐานข้อมูล: คุณสมบัติที่ขึ้นต่อกันใน ReferentialConstraint ถูกแม็พกับคอลัมน์ที่สร้างโดยร้านค้า คอลัมน์: 'PaymentId' public bool PayForItem(int terminalId, double paymentAmount, eNums.MasterCategoryEnum mastercategoryEnum, int CategoryId, int CategoryItemId) { using (var dbEntities = new DatabaseAccess.Schema.EntityModel()) { int pinnumber = 0; long pinid = 1; //getPinId(terminalId,ref pinnumber) ; var payment = new DatabaseAccess.Schema.Payment(); payment.CategoryId = CategoryId; payment.ItemCategoryId = CategoryItemId; payment.PaymentAmount = …

15
เหตุใดฉันจึงได้รับข้อผิดพลาดนี้: ไม่มีการระบุการแมปสำหรับ EntitySet / AssociationSet - Entity1 ต่อไปนี้
ฉันใช้ Entity Framework 4 กับแนวทาง Model First ฉันเริ่มโครงการออกแบบเอนทิตีและสร้างฐานข้อมูล ทุกอย่างทำงานได้ดี จากนั้นฉันต้องกลับไปเพิ่มเอนทิตีอื่นในโมเดลของฉัน อย่างไรก็ตามเมื่อฉันลากเอนทิตีไปที่ EDMX ฉันได้รับข้อผิดพลาดนี้: ได้เลย! ฉันแค่ต้องแมป Entity1 กับตาราง .. แต่เดี๋ยวก่อน! ฉันใช้แนวทาง Model First ฉันคาดว่าจะสร้างตารางให้ฉันเมื่อฉันสร้าง DDL ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร

3
การใช้รวมใน Entity Framework 4 ด้วยนิพจน์แลมบ์ดา
ฉันเคยเห็นบทความมากมายเกี่ยวกับวิธีเอาชนะเรื่องนี้ทั้งหมดที่เกี่ยวข้องกับ CTP4 หรือเพิ่มวิธีการขยายของฉันเอง มี EF4 "อย่างเป็นทางการ" รวมถึงวิธีการใช้นิพจน์แลมบ์ดาภายใน include หรือไม่ (สำหรับทั้งความสัมพันธ์ระดับแรกและระดับ 2 ขึ้นไป) หรือในที่สุดก็ไม่รวมอยู่ใน RTM? มีอยู่อย่างหนึ่ง - ฉันยินดีที่จะเรียนรู้วิธีการทำเช่นนี้เนื่องจากการใช้ lambda expression ในโค้ดของฉันตอนนี้ (ด้วย # system.data.entity # system.data.linq) ยังให้ฉัน: ไม่สามารถแปลงนิพจน์แลมบ์ดาเป็นพิมพ์ 'สตริง' เนื่องจากไม่ใช่ประเภทผู้รับมอบสิทธิ์ใน: var customers = from c in context.Customers.Include(c=>c.Phone)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.