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

สำหรับคำถามเกี่ยวกับ ADO.NET Entity Framework เวอร์ชัน 6 ให้เพิ่มแท็ก [เอนทิตีเฟรมเวิร์ก] ทั่วไปด้วยหากคำถามของคุณไม่ จำกัด เฉพาะเวอร์ชัน EF6

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 มีดังต่อไปนี้ สิ่งนี้ทำให้เกิดพฤติกรรมบางอย่างที่ฉันไม่เข้าใจหรือไม่? <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, …

17
จะอัปเดตระเบียนโดยใช้ Entity Framework 6 ได้อย่างไร
ฉันกำลังพยายามอัปเดตบันทึกโดยใช้ EF6 ก่อนอื่นให้ค้นหาระเบียนหากมีอยู่ให้อัปเดต นี่คือรหัสของฉัน: - var book = new Model.Book { BookNumber = _book.BookNumber, BookName = _book.BookName, BookTitle = _book.BookTitle, }; using (var db = new MyContextDB()) { var result = db.Books.SingleOrDefault(b => b.BookNumber == bookNumber); if (result != null) { try { db.Books.Attach(book); db.Entry(book).State = EntityState.Modified; db.SaveChanges(); } catch …

13
จะเชื่อมต่อ LocalDB ใน Visual Studio Server Explorer ได้อย่างไร
ฉันไม่อยากจะเชื่อว่าฉันไม่สามารถหาวิธีแก้ปัญหาการทำงานได้หลังจากใช้เวลาค้นหาไปหนึ่งชั่วโมง ฉันกำลังติดตามบทความนี้ใน Entity Framework 6.0 ซึ่งให้ข้อมูลเบื้องต้นอย่างง่ายๆเกี่ยวกับ Code First ฉันสร้างโครงการและติดตั้งแพคเกจ EF Nugetล่าสุดสำหรับโครงการที่จะรวบรวม ฉันยังตรวจสอบว่าฉันมี Microsoft SQL Server 2012 Express LocalDB ติดตั้งซึ่งมาพร้อมกับ Visual Studio 2013 ฉันไม่มีอินสแตนซ์อื่น ๆ ของ SQL ติดตั้งอยู่ในคอมพิวเตอร์ของฉัน โปรแกรมรันและรายการจะถูกเพิ่มลงในฐานข้อมูลและแสดงผลในคอนโซล แต่เมื่อบทความบอกว่า "ตรวจสอบ localdb ของคุณ" มันไม่ได้บอกว่า! ฉันไม่เห็นไฟล์ '.mdf' หรือ '.ldf' ใด ๆ ที่สร้างขึ้นภายใต้โฟลเดอร์โครงการ ฉันพยายามทุกวิถีทางในการเชื่อมต่อ Visual Studio ' s Server Explorer เป็น LocalDB ตัวช่วยสร้างไม่สามารถค้นหาได้(localdb)หรือไม่พบผู้ให้บริการใด …

6
การตั้งค่าข้อ จำกัด เฉพาะด้วย API อย่างคล่องแคล่ว?
ฉันพยายามสร้าง EF Entity ด้วย Code First และEntityTypeConfigurationใช้ API อย่างคล่องแคล่ว การสร้างคีย์หลักนั้นง่าย แต่ไม่ได้ จำกัด เฉพาะด้วยข้อ จำกัด ที่ไม่เหมือนใคร ฉันเห็นโพสต์เก่าที่แนะนำให้เรียกใช้งานคำสั่ง SQL ดั้งเดิมสำหรับสิ่งนี้ แต่ดูเหมือนจะเอาชนะวัตถุประสงค์ได้ เป็นไปได้กับ EF6

11
การทดสอบหน่วยบุคคลด้วย Entity Framework 6 เป็นอย่างไรคุณควรใส่ใจ
ฉันเพิ่งเริ่มด้วยการทดสอบหน่วยและ TDD โดยทั่วไป ฉันเคยขยิบตามาก่อน แต่ตอนนี้ฉันมุ่งมั่นที่จะเพิ่มลงในเวิร์กโฟลว์ของฉันและเขียนซอฟต์แวร์ที่ดีขึ้น ฉันถามคำถามเมื่อวานว่าแบบนี้รวมอยู่ด้วย แต่ดูเหมือนจะเป็นคำถามของมันเอง ฉันนั่งลงเพื่อเริ่มใช้งานคลาสบริการที่ฉันจะใช้เพื่อสรุปตรรกะทางธุรกิจจากคอนโทรลเลอร์และแผนที่ไปยังโมเดลเฉพาะและการโต้ตอบของข้อมูลโดยใช้ EF6 ปัญหาคือฉันมีสิ่งกีดขวางบนถนนแล้วเพราะฉันไม่ต้องการแยก EF ออกจากที่เก็บ (มันจะยังคงให้บริการนอกบริการสำหรับข้อความค้นหาเฉพาะ ฯลฯ ) และต้องการทดสอบบริการของฉัน (จะใช้บริบทของ EF) . ที่นี่ฉันเดาเป็นคำถามมีจุดทำเช่นนี้หรือไม่ ถ้าเป็นเช่นนั้นผู้คนกำลังทำอะไรอยู่ในป่าท่ามกลางแสงของรอยรั่วที่เกิดจาก IQueryable และการโพสต์ที่ยอดเยี่ยมมากมายของLadislav Mrnkaในเรื่องของการทดสอบหน่วยไม่ตรงไปตรงมาเพราะความแตกต่างในผู้ให้บริการ Linq เมื่อทำงานกับหน่วยความจำ การนำไปใช้งานตามที่ระบุในฐานข้อมูลเฉพาะ รหัสที่ฉันต้องการทดสอบดูเหมือนง่ายมาก (นี่เป็นเพียงรหัสจำลองเพื่อลองและเข้าใจสิ่งที่ฉันกำลังทำอยู่ฉันต้องการผลักดันการสร้างโดยใช้ TDD) บริบท public interface IContext { IDbSet<Product> Products { get; set; } IDbSet<Category> Categories { get; set; } int SaveChanges(); } …

3
DbSet.Attach (เอนทิตี) กับ DbContext.Entry (เอนทิตี) .State = EntityState.Modified
เมื่อฉันอยู่ในสถานการณ์ที่แยกออกมาและได้รับ dto จากไคลเอนต์ที่ฉันแมปเป็นเอนทิตีเพื่อบันทึกฉันทำสิ่งนี้: context.Entry(entity).State = EntityState.Modified; context.SaveChanges(); สำหรับอะไรแล้ว DbSet.Attach(entity) หรือเหตุใดฉันจึงควรใช้เมธอด. Attach เมื่อ EntityState.Modified แนบเอนทิตีแล้ว?

4
การแมปคีย์คอมโพสิตโดยใช้รหัส EF ก่อน
ตารางเซิร์ฟเวอร์ SQL: SomeId PK varchar(50) not null OtherId PK int not null ฉันจะแมปสิ่งนี้ในโค้ด EF 6 ก่อนได้อย่างไร public class MyTable { [Key] public string SomeId { get; set; } [Key] public int OtherId { get; set; } } ฉันเคยเห็นตัวอย่างบางส่วนที่คุณต้องตั้งลำดับสำหรับแต่ละคอลัมน์จำเป็นหรือไม่ มีเอกสารอย่างเป็นทางการเกี่ยวกับเรื่องนี้หรือไม่?

25
มีชื่อวัตถุอยู่ในฐานข้อมูลแล้ว
Update-Database ล้มเหลวจาก Package Manager Console ฉันใช้ Entity Framework 6.x และวิธีการรหัสแรก ข้อผิดพลาดคือ "มีออบเจ็กต์ชื่อ" AboutUs "อยู่ในฐานข้อมูลแล้ว" ฉันจะแก้ปัญหานี้ได้อย่างไร? internal sealed class Configuration : DbMigrationsConfiguration<Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext> { public Configuration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = false; } protected override void Seed(Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext context) { } } DbContext ของฉันคือ: public class JahanBlogDbContext : IdentityDbContext<User, Role, int, UserLogin, …


1
DatabaseBeginTransaction เทียบกับ Transaction.TransactionScope
อะไรคือความแตกต่างระหว่างSystem.Transactions.TransactionScopeEF6 Database.BeginTransaction? ใครช่วยยกตัวอย่างเล็กน้อยหรือแค่อธิบายว่าควรใช้อันไหนเมื่อมีความแตกต่างที่ชัดเจน PS: ในโครงการของฉันฉันใช้ EF6 ฉันได้อ่านเอกสารแล้ว แต่ก็ไม่ได้ช่วยอะไรมาก ค้นหาตัวอย่างด้วย แต่ค่อนข้างใช้SqlConnection.BeginTransactionและตอนนี้ MS ได้เปิดตัวสิ่งใหม่นี้Database.BeginTransactionใน EF6

3
Multi-async ใน Entity Framework 6?
นี่คือรหัสของฉัน: var banner = context.Banners.ToListAsync() var newsGroup = context.NewsGroups.ToListAsync() await Task.WhenAll(banner, newsGroup); แต่เมื่อฉันเรียกใช้ฟังก์ชันจากคอนโทรลเลอร์ มันแสดงข้อผิดพลาด การดำเนินการที่สองเริ่มต้นในบริบทนี้ก่อนที่การดำเนินการแบบอะซิงโครนัสก่อนหน้านี้จะเสร็จสมบูรณ์ ใช้ 'await' เพื่อให้แน่ใจว่าการดำเนินการแบบอะซิงโครนัสเสร็จสิ้นก่อนที่จะเรียกใช้เมธอดอื่นในบริบทนี้ ไม่รับประกันว่าสมาชิกอินสแตนซ์ใด ๆ จะปลอดภัยต่อเธรด โปรดช่วยฉันแก้ปัญหานี้

2
Async PartialView ทำให้เกิดข้อยกเว้น“ HttpServerUtility.Execute ถูกบล็อก…”
ฉันมีมุมมองบางส่วนที่พยายามดึงข้อมูลIEnumerable<Post>จากฐานข้อมูลโดยใช้ async ... วิธี public static class PostService { public static int PostsPerPage = 50; public static async Task<IEnumerable<Post>> GetRecentAsync(int page = 0) { return await entityFrameworkDbContext.Posts .ToListAsync(); } } PartialView public async Task<ActionResult> Recent(int page = 0) { return PartialView(await PostService.GetRecentAsync(page)); } แล้วถ้าลองเรียกดู @Html.Action("Recent", "Post") ฉันได้รับข้อยกเว้นดังต่อไปนี้ HttpServerUtility ดำเนินการบล็อกในขณะที่รอให้การดำเนินการแบบอะซิงโครนัสเสร็จสมบูรณ์ คำอธิบาย: …

2
ตารางที่ผู้ใช้กำหนดใน Entity Framework สร้างแบบสอบถามที่ไม่ถูกต้อง
ฉันคิดว่าฉันกำลังประสบปัญหาใน Entity Framework 6 และอาจเป็น ADO.NET เนื่องจากมีกำหนดส่งฉันไม่แน่ใจว่าฉันสามารถรอให้ข้อผิดพลาดนี้ได้รับการแก้ไขและหวังว่าจะมีคนช่วยฉันทำความสะอาดรอบ ๆ ตัว ปัญหาคือแบบสอบถามใช้ค่า 1 และ 5 ในตำแหน่งที่ควรเป็น 0.01 และ 0.05 อย่างไรก็ตามดูเหมือนว่าจะมีการใช้งาน 0.1 ที่แปลก แบบสอบถามที่สร้างขึ้นในปัจจุบันคือ: (รับจาก SQL Server Profiler) declare @p3 dbo.someUDT insert into @p3 values(NULL,5) insert into @p3 values(5,0.10) insert into @p3 values(NULL,1) insert into @p3 values(1,2) exec sp_executesql N'Select * from @AName',N'@AName …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.