有兩種方法可以映射兩個表之間具有鏈接(連接)表的一對多關係嗎?實體框架代碼與鏈接表的第一個一對多關係映射
1
A
回答
0
爲什麼你會有一個一對多關係的連接表?所有你需要的是從一個到另一個的外鍵。只有多對多關係才需要連接表。
1
從概念上講,一對多關係只是多對多的特殊情況。使用代碼(第一種)方法,我們可以完全相同,定義多對多關係的簡化版本。使用 在Entity Framework Tutorial使用的同樣的例子,假設一個一對多的關係,從Student
到Course
,我們將有:
public class Student
{
public Student() { }
public int StudentId { get; set; }
public string StudentName { get; set; }
public virtual ICollection<Course> Courses { get; set; }
}
public class Course
{
public Course() { }
public int CourseId { get; set; }
public string CourseName { get; set; }
// We don't need this side of the relationship
// public virtual ICollection<Student> Students { get; set; }
}
...
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Student>()
.HasMany<Course>(s => s.Courses)
.WithMany(/* c => c.Students */) // 'WithMany' goes empty
.Map(c => {
c.MapLeftKey("Student_id");
c.MapRightKey("Course_id");
c.ToTable("StudentAndCourse");
});
base.OnModelCreating(modelBuilder);
}
相關問題
- 1. 代碼第一個實體框架多對多的關係
- 2. 實體框架工作代碼第一關係映射
- 3. 實體框架代碼第一關係映射問題
- 4. 實體框架 - 代碼第一個關係:一對一個
- 5. 實體框架代碼第一個雙一對一的關係
- 6. 實體框架 - 一個類映射到與多兩個表一個關係
- 7. 實體框架。代碼第一。與表之間的關係
- 8. 實體框架的DbModel:如何使用連接表映射一對多關係?
- 9. 實體框架表與多個可選的一對一關係
- 10. 實體框架代碼第一個0到1的映射
- 11. 實體框架代碼首次 - 一對多連接/鏈接表
- 12. 在實體框架中映射多對多關係與屬性
- 13. 實體框架5.0代碼第一對一和一對多關係
- 14. 實體框架代碼第一個CTP5映射
- 15. 實體框架代碼第一個集合映射 - FriendRequests
- 16. EF代碼第一個6和多對多的實體映射
- 17. 實體框架4.0關係映射表
- 18. 實體框架代碼優先 - 映射一個表到另一個單一和多重關係?
- 19. 如何建立與實體框架代碼的第一對一關係
- 20. 實體框架代碼的第一個關係
- 21. 實體框架將多個表映射到一個實體
- 22. 我如何ModelBind與MVC 3和實體框架代碼第一次一個多一對多的關係?
- 23. 如何映射實體框架CTP5中的多對多關係?
- 24. 實體框架代碼優先,同一個表上的多對多關係
- 25. 實體框架映射多對多與獨立表的自我關係
- 26. 實體框架和顯式鏈接表的多對多關係
- 27. 實體框架代碼第一:如何爲這種關係創建一對多?
- 28. 實體框架代碼第一外鍵映射
- 29. 使用實體框架映射一對一關係到單個實體4.1代碼優先方法
- 30. 一對一映射,首先有多個主鍵列實體框架代碼
我發現你的老問題更好,至少它提供了更多的字段:http ://stackoverflow.com/q/7064796/270591 – Slauma
正確,但沒有迴應。我無法相信這種情況非常罕見。 – Minnie
在您的舊問題上做一些小改動,將問題推到活動問題之上。我認爲這是一種更好的方式,而不是再次創建完全相同的問題,但使用更少的上下文。或者更好:在你的舊問題中提供額外的信息和澄清,這可能會提高你獲得答案的機會。 – Slauma