คำถามติดแท็ก code-first

9
เหตุใดจึงใช้ ICollection และไม่ใช่ IEnumerable หรือ List <T> ในหลาย ๆ ความสัมพันธ์ / หลายต่อหลายความสัมพันธ์
ICollection&lt;T&gt;ฉันเห็นมากในบทเรียนที่มีคุณสมบัติเป็นลูกศร นี่เป็นข้อกำหนดที่จำเป็นสำหรับ Entity Framework หรือไม่ ฉันสามารถใช้IEnumerable? อะไรคือวัตถุประสงค์หลักในการใช้งานICollectionแทนIEnumerableหรือแม้กระทั่งList&lt;T&gt;?

17
การตรวจสอบล้มเหลวสำหรับเอนทิตี้อย่างน้อยหนึ่งรายการในขณะที่บันทึกการเปลี่ยนแปลงของฐานข้อมูลเซิร์ฟเวอร์ SQL โดยใช้ Entity Framework
ฉันต้องการบันทึก Edit to Database และฉันใช้ Entity FrameWork Code-First ใน ASP.NET MVC 3 / C # แต่ฉันได้รับข้อผิดพลาด ในคลาสกิจกรรมของฉันฉันมี DateTime และ TimeSpan datatypes แต่ในฐานข้อมูลของฉันฉันมี Date and time ตามลำดับ นี่อาจเป็นเหตุผลหรือไม่ ฉันจะส่งไปยังประเภทข้อมูลที่เหมาะสมในรหัสก่อนบันทึกการเปลี่ยนแปลงในฐานข้อมูลได้อย่างไร public class Event { public int EventId { get; set; } public int CategoryId { get; set; } public int PlaceId { …

6
รหัส Entity Framework First - สอง Foreign Keys จากตารางเดียวกัน
ฉันเพิ่งเริ่มใช้รหัส EF ก่อนดังนั้นฉันจึงเป็นผู้เริ่มต้นทั้งหมดในหัวข้อนี้ ฉันต้องการสร้างความสัมพันธ์ระหว่างทีมและการแข่งขัน: 1 การแข่งขัน = 2 ทีม (บ้านผู้เยี่ยมชม) และผลการแข่งขัน ฉันคิดว่ามันง่ายที่จะสร้างแบบจำลองดังนั้นฉันจึงเริ่มเขียนโค้ด: public class Team { [Key] public int TeamId { get; set;} public string Name { get; set; } public virtual ICollection&lt;Match&gt; Matches { get; set; } } public class Match { [Key] public int MatchId { get; set; …

27
โมเดลที่สำรองข้อมูลบริบท <Database> นั้นเปลี่ยนไปนับตั้งแต่สร้างฐานข้อมูล
ข้อความแสดงข้อผิดพลาด: "โมเดลที่สำรองข้อมูลบริบท 'AddressBook' มีการเปลี่ยนแปลงนับตั้งแต่ฐานข้อมูลถูกสร้างขึ้นด้วยตนเองลบ / อัปเดตฐานข้อมูลด้วยตนเองหรือโทร Database.SetInitializer ด้วยอินสแตนซ์ IDatabaseInitializer เลือกที่จะปลูกด้วยข้อมูลใหม่ " ฉันกำลังพยายามใช้คุณสมบัติรหัสแรกและต่อไปนี้คือสิ่งที่ฉันเขียน: var modelBuilder = new ModelBuilder(); var model = modelBuilder.CreateModel(); using (AddressBook context = new AddressBook(model)) { var contact = new Contact { ContactID = 10000, FirstName = "Brian", LastName = "Lara", ModifiedDate = DateTime.Now, AddDate = DateTime.Now, Title …

19
ข้อ จำกัด เฉพาะในรหัสกรอบงานเอนทิตีก่อน
คำถาม เป็นไปได้ไหมที่จะกำหนดข้อ จำกัด เฉพาะในคุณสมบัติโดยใช้ไวยากรณ์ที่คล่องแคล่วหรือแอตทริบิวต์ ถ้าไม่วิธีแก้ปัญหาคืออะไร? ฉันมีคลาสผู้ใช้ที่มีคีย์หลัก แต่ฉันต้องการให้แน่ใจว่าที่อยู่อีเมลนั้นไม่ซ้ำกัน สามารถทำได้โดยไม่ต้องแก้ไขฐานข้อมูลโดยตรงหรือไม่? วิธีแก้ปัญหา (ตามคำตอบของ Matt) public class MyContext : DbContext { public DbSet&lt;User&gt; Users { get; set; } public override int SaveChanges() { foreach (var item in ChangeTracker.Entries&lt;IModel&gt;()) item.Entity.Modified = DateTime.Now; return base.SaveChanges(); } public class Initializer : IDatabaseInitializer&lt;MyContext&gt; { public void InitializeDatabase(MyContext context) …

5
Entity Framework Code First รองรับกระบวนงานที่จัดเก็บไว้หรือไม่
ฉันได้ดูการนำเสนอ EF Code First หลายครั้งแล้วและยังไม่เห็นว่า EFCF ทำงานร่วมกับขั้นตอนการจัดเก็บอย่างไร ฉันจะประกาศวิธีการที่จะใช้ sp บางตัวได้อย่างไร? ฉันสามารถส่งเอนทิตีไปยังเมธอดที่เรียกใช้ sp โดยไม่ต้องแมปคุณสมบัติเอนทิตีกับพารามิเตอร์ sp ด้วยตนเองได้หรือไม่ นอกจากนี้จะเกิดอะไรขึ้นถ้าฉันเปลี่ยนรุ่นของฉัน? มันจะลด sp ของฉันในขณะที่สร้างตารางจากโมเดลใหม่หรือไม่? แล้วทริกเกอร์ล่ะ? หากสิ่งเหล่านี้ไม่ได้รับการสนับสนุนมีแผนรองรับในอนาคตหรือไม่?

14
Entity Framework DateTime และ UTC
เป็นไปได้ไหมที่จะมี Entity Framework (ฉันใช้ Code First Approach กับ CTP5 ในปัจจุบัน) เก็บค่า DateTime ทั้งหมดเป็น UTC ในฐานข้อมูล หรืออาจมีวิธีระบุในการแม็ปเช่นในคอลัมน์นี้สำหรับคอลัมน์ last_login: modelBuilder.Entity&lt;User&gt;().Property(x =&gt; x.Id).HasColumnName("id"); modelBuilder.Entity&lt;User&gt;().Property(x =&gt; x.IsAdmin).HasColumnName("admin"); modelBuilder.Entity&lt;User&gt;().Property(x =&gt; x.IsEnabled).HasColumnName("enabled"); modelBuilder.Entity&lt;User&gt;().Property(x =&gt; x.PasswordHash).HasColumnName("password_hash"); modelBuilder.Entity&lt;User&gt;().Property(x =&gt; x.LastLogin).HasColumnName("last_login");

4
ในรหัสกรอบงานเอนทิตีก่อนวิธีใช้ KeyAttribute ในหลายคอลัมน์
ฉันกำลังสร้างแบบจำลอง POCO เพื่อใช้กับรหัสกรอบงานเอนทิตีแรก CTP5 ฉันใช้การตกแต่งเพื่อสร้างแผนที่คุณสมบัติให้กับคอลัมน์ PK แต่ฉันจะกำหนด PK ในคอลัมน์มากกว่าหนึ่งคอลัมน์ได้อย่างไรและโดยเฉพาะอย่างยิ่งฉันจะควบคุมลำดับของคอลัมน์ในดัชนีได้อย่างไร เป็นผลมาจากลำดับคุณสมบัติในคลาสหรือไม่? ขอบคุณ!

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

3
วิธีระบุชื่อตารางด้วย Entity Framework Code First Fluent API
ฉันมีเอนทิตีและฉันต้องการกำหนดค่าเอนทิตีเฟรมเวิร์กเพื่อแมปกับตารางฐานข้อมูลที่มีชื่ออื่น ฉันสามารถทำได้อย่างง่ายดายด้วยCode First DataAnnotations ( DataAnnotations.Schema.TableAttribute ) แต่เนื่องจากข้อ จำกัด ในตอนนี้ฉันจึงต้องใช้Code First Fluent API (อ็อบเจ็กต์โดเมนของฉันจะถูกใช้โดยไคลเอนต์ภายนอกดังนั้นจึงไม่ควรใช้เฉพาะเทคโนโลยี - เช่นมีการอ้างอิงถึง DataAnnotations) ฉันค้นหาใน MSDN แต่ไม่พบอะไรเลย เป็นไปได้หรือไม่และอย่างไร ขอขอบคุณ.

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