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

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

13
ADO.NET Entity Framework: Update Wizard จะไม่เพิ่มตาราง
ฉันเพิ่ม ADO.Net Entity Data Model ใหม่ในโครงการของฉันและใช้Update Wizardเพื่อเพิ่มตารางลงในโมเดล ตารางที่เลือกห้าตารางถูกเพิ่มลงในพื้นผิวการออกแบบ อีกสองโต๊ะจะไม่เพิ่ม ฉันเลือกสิ่งเหล่านี้ในวิซาร์ดและคลิกเสร็จสิ้น แต่ก็ไม่ปรากฏบนพื้นผิวการออกแบบ นี่เป็นข้อบกพร่องหรือมีบางสถานการณ์ที่ไม่สามารถเพิ่มตารางลงในโมเดลได้ (โดยการออกแบบ)? UPDATE: XML (* .edmx) เปิดเผยปัญหา <!--Errors Found During Generation: warning 6013: The table/view 'FooBar.dbo.Roles' does not have a primary key defined and no valid primary key could be inferred. This table/view has been excluded. To use the …

13
Entity Framework ช้าเกินไป ตัวเลือกของฉันคืออะไร? [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันได้ทำตามมนต์ "Don't Optimize Prematurely" และเขียนโค้ดบริการ WCF ของฉันโดยใช้ Entity Framework อย่างไรก็ตามฉันทำโปรไฟล์ประสิทธิภาพและ Entity Framework ช้าเกินไป (แอปของฉันประมวลผล 2 ข้อความในเวลาประมาณ 1.2 วินาทีโดยที่แอป (เดิม) ที่ฉันเขียนใหม่ทำ 5-6 ข้อความในเวลาเดียวกัน (แอปเดิมเรียก sprocs สำหรับการเข้าถึงฐานข้อมูล) การทำโปรไฟล์ของฉันชี้ไปที่ Entity Framework โดยใช้เวลาส่วนใหญ่ต่อข้อความ ตัวเลือกของฉันคืออะไร? มี ORM ที่ดีกว่านี้ไหม (สิ่งที่รองรับการอ่านและเขียนวัตถุตามปกติและทำได้เร็ว .. ) มีวิธีทำให้ Entity Framework เร็วขึ้นหรือไม่? …

9
ชอบ Operator ใน Entity Framework หรือไม่?
เรากำลังพยายามใช้ตัวดำเนินการ "LIKE" ใน Entity Framework สำหรับเอนทิตีของเราที่มีฟิลด์สตริง แต่ดูเหมือนว่าจะไม่ได้รับการสนับสนุน มีใครลองทำอะไรแบบนี้บ้าง? นี้โพสต์บล็อกสรุปปัญหาที่เรากำลังมี เราสามารถใช้มี แต่ตรงกับกรณีที่ไม่สำคัญที่สุดสำหรับ LIKE เท่านั้น การรวมประกอบด้วย, เริ่มต้นด้วย, สิ้นสุดด้วยและดัชนีของเราทำให้เราไปที่นั่นได้ แต่ต้องมีการแปลระหว่างอักขระตัวแทนมาตรฐานและรหัส Linq เป็นเอนทิตี

2
คีย์คอมโพสิตเป็นคีย์ต่างประเทศ
ฉันใช้ Entity framework 4.1 ในแอปพลิเคชัน MVC 3 ฉันมีเอนทิตีที่ฉันมีคีย์หลักประกอบด้วยสองคอลัมน์ (คีย์ผสม) และกำลังใช้ในเอนทิตีอื่นเป็นคีย์ต่างประเทศ จะสร้างความสัมพันธ์ได้อย่างไร? ใน scnerios ปกติเราใช้: public class Category { public string CategoryId { get; set; } public string Name { get; set; } public virtual ICollection<Product> Products { get; set; } } public class Product { public int ProductId { get; …

6
รหัส EF รหัสแรกที่ไม่มีคุณสมบัติการนำทาง
สมมติว่าฉันมีเอนทิตีต่อไปนี้: public class Parent { public int Id { get; set; } } public class Child { public int Id { get; set; } public int ParentId { get; set; } } รหัสคืออะไรแรกไวยากรณ์ API ได้อย่างคล่องแคล่วในการบังคับใช้ที่ parentId จะถูกสร้างขึ้นในฐานข้อมูลที่มีข้อ จำกัด ที่สำคัญต่างประเทศในตารางผู้ปกครองโดยไม่จำเป็นต้องมีคุณสมบัตินำทาง ? ฉันรู้ว่าถ้าฉันเพิ่มคุณสมบัติการนำทาง Parent ให้กับ Child ฉันจะทำได้: modelBuilder.Entity<Child>() .HasRequired<Parent>(c => c.Parent) .WithMany() …

10
คำว่า 'scaffold-dbcontext' ไม่ได้รับการยอมรับว่าเป็นชื่อของ cmdlet ฟังก์ชันไฟล์สคริปต์หรือโปรแกรมที่ทำงานได้
เมื่อพยายามนั่งร้านด้วย asp.net core คำสั่งนี้ scaffold-dbcontext "Data Source=(local);Initial Catalog=MyDb;Integrated Security=True;" Microsoft.EntityFrameworkCore.sqlserver -outputdir Models ให้ข้อผิดพลาดนี้ scaffold-dbcontext: คำว่า 'scaffold-dbcontext' ไม่รู้จักว่าเป็นชื่อของ cmdlet ฟังก์ชันไฟล์สคริปต์หรือโปรแกรมที่ทำงานได้ ตรวจสอบการสะกดของชื่อหรือถ้ามีพา ธ ตรวจสอบว่าพา ธ ถูกต้องแล้วลองอีกครั้ง ที่บรรทัด: 1 อักขระ: 1 + scaffold-dbcontext "Data Source=(local);Initial Catalog=MyDB;In ... + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (scaffold-dbcontext:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException ฉันได้ลองวิธีแก้ปัญหาที่นี่แล้ว แต่มันไม่ได้ผลสำหรับฉัน มีความคิดว่าสาเหตุ …

8
ค่าดีฟอลต์สำหรับฟิลด์ที่ต้องการในการโอนย้าย Entity Framework?
ฉันได้เพิ่ม[Required]บันทึกย่อข้อมูลให้เป็นหนึ่งในรูปแบบของฉันในโปรแกรมประยุกต์ ASP.NET MVC หลังจากสร้างการโอนย้ายการรันUpdate-Databaseคำสั่งจะทำให้เกิดข้อผิดพลาดต่อไปนี้: ไม่สามารถแทรกค่า NULL ลงในคอลัมน์ 'Director', table 'MOVIES_cf7bad808fa94f89afa2e5dae1161e78.dbo.Movies'; คอลัมน์ไม่อนุญาตให้มีค่าว่าง UPDATE ล้มเหลว คำสั่งยุติแล้ว เนื่องจากบางระเบียนมีค่า NULL ในDirectorคอลัมน์ ฉันจะเปลี่ยนค่าเหล่านั้นให้เป็นค่าเริ่มต้น (พูดว่า "John Doe") โดยอัตโนมัติได้อย่างไร นี่คือโมเดลของฉัน: public class Movie { public int ID { get; set; } [Required] public string Title { get; set; } [DataType(DataType.Date)] public DateTime ReleaseDate { get; set; } …

11
ส่งสตริงการเชื่อมต่อไปยัง DbContext รหัสแรก
ฉันจะส่งสตริงการเชื่อมต่อไปยัง DbContext รหัสแรกของกรอบเอนทิตีได้อย่างไร การสร้างฐานข้อมูลของฉันทำงานได้อย่างถูกต้องเมื่อทั้ง DbContext และสตริงการเชื่อมต่อใน web.config อยู่ในโปรเจ็กต์เดียวกันและตั้งชื่อในลักษณะเดียวกัน แต่ตอนนี้ฉันต้องการย้าย DbContext ไปยังโปรเจ็กต์อื่นดังนั้นฉันจึงทดสอบส่งสตริงการเชื่อมต่อไปยังมันดังนี้: โมเดลและบริบท public class Dinner { public int DinnerId { get; set; } public string Title { get; set; } } public class NerdDinners : DbContext { public NerdDinners(string connString) : base(connString) { } public DbSet<Dinner> Dinners { get; set; …

10
วิธีรับค่าสูงสุดของคอลัมน์โดยใช้ Entity Framework
เพื่อให้ได้ค่าสูงสุดของคอลัมน์ที่มีจำนวนเต็มฉันสามารถใช้คำสั่ง T-SQL ต่อไปนี้ SELECT MAX(expression ) FROM tables WHERE predicates; เป็นไปได้ไหมที่จะได้ผลลัพธ์เดียวกันกับ Entity Framework สมมติว่าฉันมีโมเดลต่อไปนี้ public class Person { public int PersonID { get; set; } public int Name { get; set; } public int Age { get; set; } } ฉันจะหาอายุของผู้สูงอายุได้อย่างไร? int maxAge = context.Persons.?
92 c#  sql  entity-framework  max 

6
โครงการของคุณไม่ได้อ้างถึงกรอบงาน“ .NETFramework, Version = v4.5”
ฉันใช้ VS 2015 โครงการของคุณไม่ได้อ้างถึงกรอบงาน ".NETFramework, Version = 4.5" เพิ่มการอ้างอิงถึง ".NETFramework, Version = 4.5" ในส่วน "frameworks" ของ project.json ของคุณจากนั้นเรียกใช้ NuGet restore อีกครั้ง ฉันได้รับข้อผิดพลาดนี้ในเลเยอร์การเข้าถึงข้อมูลและ Business Logic ของฉันไม่นานหลังจากเพิ่มลงใน MVC Layer จนถึงตอนนั้นสิ่งต่างๆกำลังดำเนินไปด้วยดี แต่ฉันไม่รู้ว่าอะไรทำให้เกิดข้อผิดพลาดนี้ นี่คือ project.json ของฉัน: { "version": "1.0.0-*", "description": "foo bar Class Library", "authors": [ "foo bar" ], "tags": [ "" ], "projectUrl": …

5
จะบังคับให้ Entity Framework รับข้อมูลที่อัปเดตจากฐานข้อมูลได้อย่างไร?
ฉันกำลังใช้EntityFramework.Extended library เพื่อทำการอัพเดตเป็นกลุ่ม ปัญหาเดียวคือ EF ไม่ติดตามการอัปเดตแบตช์ที่ดำเนินการโดยไลบรารี ดังนั้นเมื่อฉันสอบถามDbContextอีกครั้งจะไม่ส่งคืนเอนทิตีที่อัปเดต ฉันพบว่าการใช้AsNoTracking()วิธีการในขณะที่สอบถามจะปิดใช้งานการติดตามและรับข้อมูลใหม่จากฐานข้อมูล อย่างไรก็ตามเนื่องจาก EF ไม่ได้ติดตามเอนทิตีที่สอบถามAsNoTracking()ฉันจึงไม่สามารถทำการอัปเดตข้อมูลที่สอบถามได้ มีวิธีใดที่จะบังคับให้ EF รับข้อมูลล่าสุดขณะติดตามการเปลี่ยนแปลง

4
แทรกข้อมูลโดยใช้แบบจำลอง Entity Framework
ฉันกำลังพยายามแทรกข้อมูลบางส่วนในฐานข้อมูลโดยใช้โมเดล Entity Framework แต่ด้วยเหตุผลที่ไม่ทราบสาเหตุสำหรับฉันมันก็ไม่ทำอะไรเลย ฉันขาดอะไรที่นี่? using (var context = new DatabaseEntities()) { var t = new test { ID = Guid.NewGuid(), name = "blah", }; context.AddTotest(t); context.SaveChanges(); }

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

1
ไม่สามารถแปลวิธีการเป็นนิพจน์ร้านค้า
ฉันเห็นรหัสนี้ทำงานกับ LINQ ถึง SQL แต่เมื่อฉันใช้ Entity Framework มันแสดงข้อผิดพลาดนี้: LINQ เป็นเอนทิตีไม่รู้จักเมธอด 'System.Linq.IQueryable'1 [MyProject.Models.CommunityFeatures] GetCommunityFeatures ()' เมธอดและเมธอดนี้ไม่สามารถแปลเป็นนิพจน์ร้านค้าได้ รหัสที่เก็บคือ: public IQueryable<Models.Estate> GetEstates() { return from e in entity.Estates let AllCommFeat = GetCommunityFeatures() let AllHomeFeat = GetHomeFeatures() select new Models.Estate { EstateId = e.EstateId, AllHomeFeatures = new LazyList<HomeFeatures>(AllHomeFeat), AllCommunityFeatures = new LazyList<CommunityFeatures>(AllCommFeat) }; } …

7
สร้าง Tuple ใน Linq Select
ฉันกำลังทำงานกับ C # และ. NET Framework 4.5.1 เพื่อดึงข้อมูลจากฐานข้อมูล SQL Server ด้วย Entity Framework 6.1.3 ฉันมีสิ่งนี้: codes = codesRepo.SearchFor(predicate) .Select(c => new Tuple<string, byte>(c.Id, c.Flag)) .ToList(); และเมื่อเรียกใช้ฉันจะได้รับข้อความนี้: รองรับเฉพาะตัวสร้างและตัวเริ่มต้นที่ไม่มีพารามิเตอร์เท่านั้นใน LINQ ถึงเอนทิตี ฉันไม่รู้ว่าฉันต้องสร้าง Tuple อย่างไรเพราะตัวอย่างทั้งหมดที่ฉันพบส่วนใหญ่เป็นแบบนี้ ฉันได้ลองสิ่งนี้: codes = codesRepo.SearchFor(predicate) .Select(c => Tuple.Create(c.Id, c.Flag)) .ToList(); และรับข้อผิดพลาดนี้: LINQ เป็นเอนทิตีไม่รู้จักเมธอด 'System.Tuple'2 [System.String, System Byte] Create [String, …

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