亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

多對多映射表

多對多映射表

C#
守候你守候我 2019-12-27 09:48:11
從我在網上和《編程實體框架》 CodeFirst書中看到的示例中,當您在兩個類上都有一個集合時,EF會創建一個映射表,例如MembersRecipes,每個類的主鍵都將鏈接到該表。但是,當我執行以下操作時,我改為在Recipes表中獲得一個新字段,Member_Id并Recipe_Id在該Members表中獲得a 。這只會創建兩個一對多的關系,而不是一對多的關系,因此我可以將Member 3鏈接到食譜(4,5,6),將Recipe 4鏈接到成員(1,2,3)等。有沒有創建此映射表的方法?如果是的話,您如何命名其他名稱,例如“ cookbooks”?謝謝    public abstract class Entity {        [Required]        public int Id { get; set; }    }       public class Member : Entity {        [Required]        public string Name { get; set; }        public virtual IList<Recipe> Recipes { get; set; }    }    public class Recipe : Entity {          [Required]        public string Name { get; set; }        [ForeignKey("Author")]        public int AuthorId { get; set; }        public virtual Member Author { get; set; }            ....        public virtual IList<Member> Members { get; set; }    }更新: 以下是我嘗試過的另一種方法,該方法不使用Fluent API,并用所有者標志替換AuthorId&Author上Recipe的內容,我還將以下示例從重命名Cookbooks為MembersRecipes,這也解決了與答案類似的問題,但如上所述進一步的含義。public class MembersRecipes {    [Key, Column(Order = 0)]    [ForeignKey("Recipe")]    public int RecipeId { get; set; }    public virtual Recipe Recipe { get; set; }    [Key, Column(Order = 1)]    [ForeignKey("Member")]    public int MemberId { get; set; }    public virtual Member Member { get; set; }    public bool Owner { get; set; }}在Recipe&Member班級中,我將集合更改為public virtual IList<MembersRecipes> MembersRecipes { get; set; }
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 403 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號