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

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

16
Entity Framework vs LINQ ไปยัง SQL
ตอนนี้. NET v3.5 SP1 ได้รับการเผยแพร่ (พร้อมกับ VS2008 SP1) ตอนนี้เราสามารถเข้าถึง. NET Framework นิติบุคคล คำถามของฉันคือสิ่งนี้ เมื่อพยายามที่จะตัดสินใจระหว่างการใช้ Entity Framework และ LINQ กับ SQL เป็น ORM ความแตกต่างคืออะไร? วิธีที่ฉันเข้าใจ Framework Entity (เมื่อใช้กับ LINQ ไปยังเอนทิตี) เป็น 'พี่ใหญ่' กับ LINQ ไปยัง SQL? หากเป็นเช่นนี้ - มีข้อดีอะไรบ้าง มันสามารถทำอะไรได้บ้างที่ LINQ กับ SQL ไม่สามารถทำได้ด้วยตัวเอง?

29
การตรวจสอบล้มเหลวสำหรับเอนทิตีอย่างน้อยหนึ่งรายการ ดูคุณสมบัติ 'EntityValidationErrors' สำหรับรายละเอียดเพิ่มเติม
ฉันมีข้อผิดพลาดนี้เมื่อทำการ seed ฐานข้อมูลด้วยรหัสแรก การตรวจสอบล้มเหลวสำหรับเอนทิตีอย่างน้อยหนึ่งรายการ ดูคุณสมบัติ 'EntityValidationErrors' สำหรับรายละเอียดเพิ่มเติม ความซื่อสัตย์ฉันไม่รู้วิธีตรวจสอบเนื้อหาของข้อผิดพลาดในการตรวจสอบความถูกต้อง Visual Studio แสดงให้ฉันเห็นว่ามันเป็นอาร์เรย์ที่มีวัตถุ 8 รายการดังนั้นจึงมีข้อผิดพลาดในการตรวจสอบ 8 ข้อ นี่เป็นการทำงานกับรุ่นก่อนหน้าของฉัน แต่ฉันทำการเปลี่ยนแปลงเล็กน้อยที่ฉันอธิบายด้านล่าง: ฉันมีสถานะเรียกว่าสถานะฉันเปลี่ยนเป็นชั้นที่เรียกว่าสถานะ ฉันเปลี่ยนคลาสผู้สมัครตำแหน่งประวัติเพื่อให้มี 2 foreign key เป็นตารางเดียวกัน ขอโทษทีฉันสำหรับรหัสยาว แต่ฉันต้องวางทั้งหมด ข้อยกเว้นจะถูกโยนในบรรทัดสุดท้ายของรหัสต่อไปนี้ namespace Data.Model { public class Position { [DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.Identity)] public int PositionID { get; set; } [Required(ErrorMessage = "Position name is required.")] [StringLength(20, MinimumLength = …

29
วิธีแทรกที่เร็วที่สุดใน Entity Framework
ฉันกำลังมองหาวิธีที่เร็วที่สุดในการแทรกลงใน Entity Framework ฉันถามสิ่งนี้เพราะสถานการณ์ที่คุณมี TransactionScope ที่ใช้งานอยู่และการแทรกมีขนาดใหญ่มาก (4000+) อาจใช้เวลานานกว่า 10 นาที (การหมดเวลาเริ่มต้นของการทำธุรกรรม) และสิ่งนี้จะนำไปสู่การทำธุรกรรมที่ไม่สมบูรณ์
682 c#  sql  entity-framework 

30
MetadataException: ไม่สามารถโหลดทรัพยากร metadata ที่ระบุได้
ทั้งหมดในทันทีที่ฉันให้ได้รับMetadataExceptionในอินสแตนซ์ของฉันสร้างObjectContextระดับ สตริงการเชื่อมต่อใน App.Config ดูถูกต้อง - ยังไม่เปลี่ยนตั้งแต่ใช้งานล่าสุด - และฉันได้ลองสร้างโมเดลใหม่ (ไฟล์ edmx) จากฐานข้อมูลพื้นฐานโดยไม่มีการเปลี่ยนแปลง ใครมีความคิดเห็นบ้าง รายละเอียดเพิ่มเติม: ฉันยังไม่ได้เปลี่ยนคุณสมบัติใด ๆ ฉันยังไม่ได้เปลี่ยนชื่อของชุดประกอบเอาต์พุตใด ๆ ฉันไม่ได้พยายามฝัง EDMX ในชุดประกอบ ฉันรอเพียง 10 ชั่วโมงจากการออกจากงานจนกว่าฉันจะกลับมา แล้วมันก็ไม่ทำงานอีกต่อไป ฉันพยายามสร้าง EDMX ใหม่ ฉันพยายามสร้างโครงการใหม่ ฉันยังพยายามสร้างฐานข้อมูลใหม่ตั้งแต่เริ่มต้น ไม่มีโชค แต่อย่างใด

18
มี DataReader แบบเปิดที่เชื่อมโยงกับคำสั่งนี้อยู่แล้วซึ่งจะต้องปิดก่อน
ฉันมีคำถามนี้และฉันได้รับข้อผิดพลาดในฟังก์ชั่นนี้: var accounts = from account in context.Accounts from guranteer in account.Gurantors select new AccountsReport { CreditRegistryId = account.CreditRegistryId, AccountNumber = account.AccountNo, DateOpened = account.DateOpened, }; return accounts.AsEnumerable() .Select((account, index) => new AccountsReport() { RecordNumber = FormattedRowNumber(account, index + 1), CreditRegistryId = account.CreditRegistryId, DateLastUpdated = DateLastUpdated(account.CreditRegistryId, account.AccountNumber), AccountNumber = FormattedAccountNumber(account.AccountType, …


10
รหัสเป็นอันดับแรกเทียบกับรุ่น / ฐานข้อมูลก่อน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน12 เดือนที่ผ่านมา ข้อดีและข้อเสียของการใช้ Entity Framework 4.1 Code-first over Model / Database-first ด้วยไดอะแกรม EDMX คืออะไร ฉันพยายามเข้าใจวิธีการทั้งหมดในการสร้างชั้นการเข้าถึงข้อมูลโดยใช้ EF 4.1 IoCฉันใช้รูปแบบและพื้นที่เก็บข้อมูล ฉันรู้ว่าฉันสามารถใช้วิธีการแบบรหัสแรก: กำหนดเอนทิตีและบริบทด้วยมือของฉันและใช้ModelBuilderเพื่อปรับสคีมา ฉันยังสามารถสร้างEDMXไดอะแกรมและเลือกขั้นตอนการสร้างรหัสที่ใช้เทมเพลต T4 เพื่อสร้างPOCOคลาสเดียวกัน ในทั้งสองกรณีผมจบลงด้วยPOCOวัตถุที่ไม่เชื่อเรื่องพระเจ้าและบริบทที่เกิดขึ้นจากORMDbContext ฐานข้อมูลดูเหมือนว่าจะน่าสนใจที่สุดตั้งแต่ฉันสามารถออกแบบฐานข้อมูลใน Enterprise Manager ได้อย่างรวดเร็วซิงค์โมเดลและปรับแต่งมันโดยใช้นักออกแบบ แล้วความแตกต่างระหว่างสองแนวทางนี้คืออะไร? มันเกี่ยวกับการตั้งค่า VS2010 กับ Enterprise Manager หรือไม่?

11
ฉันจะรับรหัสของเอนทิตีที่แทรกในกรอบงานของเอนทิตี้ได้อย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันมีปัญหากับ Entity Framework ใน Asp.net ฉันต้องการรับค่ารหัสทุกครั้งที่ฉันเพิ่มวัตถุในฐานข้อมูล ฉันจะทำสิ่งนี้ได้อย่างไร

20
SqlException จาก Entity Framework - ไม่อนุญาตให้ทำธุรกรรมใหม่เนื่องจากมีเธรดอื่นที่ทำงานอยู่ในเซสชัน
ขณะนี้ฉันได้รับข้อผิดพลาดนี้: System.Data.SqlClient.SqlException: ไม่อนุญาตการทำธุรกรรมใหม่เนื่องจากมีเธรดอื่นที่ทำงานอยู่ในเซสชัน ขณะเรียกใช้รหัสนี้: public class ProductManager : IProductManager { #region Declare Models private RivWorks.Model.Negotiation.RIV_Entities _dbRiv = RivWorks.Model.Stores.RivEntities(AppSettings.RivWorkEntities_connString); private RivWorks.Model.NegotiationAutos.RivFeedsEntities _dbFeed = RivWorks.Model.Stores.FeedEntities(AppSettings.FeedAutosEntities_connString); #endregion public IProduct GetProductById(Guid productId) { // Do a quick sync of the feeds... SyncFeeds(); ... // get a product... ... return product; } private void SyncFeeds() …

30
ไม่พบผู้ให้บริการ Entity Framework สำหรับผู้ให้บริการ ADO.NET ที่มีชื่อไม่เปลี่ยนแปลง 'System.Data.SqlClient'
หลังจากดาวน์โหลด EF6 โดย nuget แล้วลองเรียกใช้โครงการของฉันมันจะส่งคืนข้อผิดพลาดต่อไปนี้: ไม่พบผู้ให้บริการ Entity Framework สำหรับผู้ให้บริการ ADO.NET ที่มีชื่อไม่เปลี่ยนแปลง 'System.Data.SqlClient' ตรวจสอบให้แน่ใจว่าผู้ให้บริการลงทะเบียนในส่วน 'เอนทิตีเฟรมเวิร์ค' ของไฟล์กำหนดค่าแอปพลิเคชัน ดูhttp://go.microsoft.com/fwlink/?LinkId=260882สำหรับข้อมูลเพิ่มเติม

22
ไม่สามารถอัปเดต EntitySet - เนื่องจากมี DefiningQuery และไม่มีองค์ประกอบ <UpdateFunction> อยู่
ฉันใช้ Entity Framework 1 กับ. net 3.5 ฉันกำลังทำอะไรง่ายๆแบบนี้: var roomDetails = context.Rooms.ToList(); foreach (var room in roomDetails) { room.LastUpdated = DateTime.Now; } ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามทำ: context.SaveChanges(); ฉันได้รับข้อผิดพลาด: ไม่สามารถอัปเดต EntitySet - เนื่องจากมี DefiningQuery และไม่มีองค์ประกอบ &lt;UpdateFunction&gt; ในองค์ประกอบ &lt;ModificationFunctionMapping&gt; เพื่อรองรับการทำงานปัจจุบัน ฉันกำลังอัปเดตจำนวนมากเกี่ยวกับบริบทและไม่มีปัญหาใด ๆ เกิดขึ้นเมื่อฉันพยายามอัปเดตเอนทิตีเฉพาะนี้เท่านั้น การค้นหาทั้งหมดของฉันปรากฏในสิ่งเดียวกันว่าไม่มีคีย์หลักที่ประกาศในเอนทิตีที่ฉันพยายามอัปเดต แต่อนิจจาฉันมีคีย์หลักที่ประกาศ ...

11
การย้ายถิ่นของ EF: การย้อนกลับไปใช้การโยกย้ายครั้งสุดท้ายหรือไม่
นี่เป็นงานที่ธรรมดามาก แต่ฉันไม่สามารถหาวิธีง่ายๆได้ ฉันต้องการเลิกทำการโยกย้ายครั้งสุดท้ายที่ใช้ ฉันคาดว่าจะมีคำสั่งง่าย ๆ เช่น PM&gt; Update-Database -TargetMigration:"-1" สิ่งที่ฉันสามารถทำได้คือ: PM&gt; Get-Migrations Retrieving migrations that have been applied to the target database. 201208012131302_Add-SystemCategory 201207311827468_CategoryIdIsLong 201207232247409_AutomaticMigration 201207211340509_AutomaticMigration 201207200025294_InitialCreate PM&gt; Update-Database -TargetMigration:"CategoryIdIsLong" (อย่างน้อยฉันสามารถใช้เพียงชื่อข้ามการประทับเวลา ... ) มีวิธีที่ง่ายกว่านี้ไหม?

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 …

30
ประเภทผู้ให้บริการ Entity Framework ไม่สามารถโหลดได้?
ฉันพยายามเรียกใช้การทดสอบของฉันบน TeamCity ซึ่งปัจจุบันติดตั้งอยู่ในเครื่องของฉัน System.InvalidOperationException: องค์กร Framework ประเภทผู้ให้บริการSystem.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'สำหรับ ' System.Data.SqlClient' ผู้ให้บริการ ADO.NET ไม่สามารถโหลด ตรวจสอบให้แน่ใจว่าแอสเซมบลีของผู้ให้บริการพร้อมใช้งานสำหรับแอปพลิเคชันที่ทำงานอยู่ ดูhttp://go.microsoft.com/fwlink/?LinkId=260882สำหรับข้อมูลเพิ่มเติม .. ฉันไม่มีการอ้างอิงถึงSystem.Data.Entityในโครงการใด ๆ ของฉันตามที่แนะนำบน codeplex สำหรับอัพเกรดเป็น EF6 ดังนั้นฉันไม่แน่ใจว่าทำไมฉันถึงได้รับข้อยกเว้นนี้ ฉันไม่ได้รับข้อยกเว้นเช่นนี้เมื่อฉันทำการทดสอบจาก VS ฉันพยายามตั้งค่า CopyLocal เป็น false จากนั้นอีกครั้งเป็นจริง .. แต่นั่นก็ไม่ได้ผลเหมือนกัน ปรับปรุง แอพของฉัน. config มีดังต่อไปนี้ สิ่งนี้ทำให้เกิดพฤติกรรมบางอย่างที่ฉันไม่เข้าใจหรือไม่? &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;configuration&gt; &lt;configSections&gt; &lt;section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, …

9
หนึ่ง DbContext ต่อคำขอทางเว็บ…เพราะอะไร
ฉันอ่านบทความจำนวนมากที่อธิบายถึงวิธีการตั้งค่า Entity Framework DbContextเพื่อให้มีการสร้างและใช้เพียงหนึ่งรายการต่อการร้องขอ HTTP ของเว็บโดยใช้เฟรมเวิร์ก DI ต่างๆ ทำไมนี่เป็นความคิดที่ดีตั้งแต่แรก? คุณได้รับประโยชน์อะไรบ้างจากการใช้วิธีการนี้ มีสถานการณ์บางอย่างที่จะเป็นความคิดที่ดีหรือไม่? มีสิ่งใดบ้างที่คุณสามารถทำได้โดยใช้เทคนิคนี้ที่คุณไม่สามารถทำได้เมื่อสร้างอินสแตนซ์DbContextของการเรียกเมธอดที่เก็บ?

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