亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Entity Framework數(shù)據(jù)遷移(Migrations)新增多對(duì)多關(guān)系,為什么如下代碼不生成中間表?
高洛峰
高洛峰 2016-11-12 15:20:09
0
1
1381

數(shù)據(jù)庫(kù)中有一張Blog表,還有一張Tag表,它們有各自屬性。而一開(kāi)始生成數(shù)據(jù)庫(kù)而是直接通過(guò)EF生成的,也沒(méi)有做過(guò)數(shù)據(jù)遷移。

現(xiàn)在希望把Blog和Tag進(jìn)行多對(duì)多關(guān)系進(jìn)行關(guān)聯(lián),由于線上數(shù)據(jù)庫(kù)應(yīng)用于生產(chǎn)環(huán)境,已經(jīng)有了真實(shí)數(shù)據(jù),所以只能使用EF數(shù)據(jù)遷移來(lái)完成了。

于是我在model層的Blog.cs里新增了如下代碼:

public virtual IList<Tag> Tags { get; set; }

然后在model層的Tag.cs里新增了如下代碼:

public virtual ICollection<Blog> Blogs { get; set; }

然后開(kāi)始操作數(shù)據(jù)遷移,生成的數(shù)據(jù)遷移為代碼如下:

    public override void Up()
    {
        //往dbo.blog表里新增了一列Tag_TagId
        AddColumn("dbo.Blogs", "Tag_TagId", c => c.String(maxLength: 128));
        //往dbo.Tags表里新增了一列Blog_BlogId1
        AddColumn("dbo.Tags", "Blog_BlogId1", c => c.String(maxLength: 128));
        
        CreateIndex("dbo.Blogs", "Tag_TagId");
        CreateIndex("dbo.Tags", "Blog_BlogId1");
        
        AddForeignKey("dbo.Blogs", "Tag_TagId", "dbo.Tags", "TagId");
        AddForeignKey("dbo.Tags", "Blog_BlogId1", "dbo.Blogs", "BlogId");
    }

由這段代碼可見(jiàn)Blog和Tag表只是各自新增了外鍵進(jìn)行1對(duì)1的關(guān)聯(lián),而不是我希望的多對(duì)多關(guān)系,還請(qǐng)各位大神指點(diǎn)。

對(duì)于這個(gè)問(wèn)題解決方案我的猜想是:是不是對(duì)EF的多對(duì)多映射關(guān)系處理的不正確,需要加一些Attribute做下映射?。

萬(wàn)分感謝,祝好。


高洛峰
高洛峰

擁有18年軟件開(kāi)發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...

全部回覆(1)
三叔

在別的地方找到了解決方案。

在DBContext的OnModelCreating寫(xiě):

????????????modelBuilder.Entity()
????????????????.HasMany(a?=>?a.tags)
????????????????.WithMany(t?=>?t.Blogs)
????????????????.Map(m?=>
????????????????{
????????????????????m.ToTable("blog_tag");?//中間關(guān)系表表名
????????????????????m.MapLeftKey("tagID");?//設(shè)置Activity表在中間表主鍵名
????????????????????m.MapRightKey("blogID");?//設(shè)置Trip表在中間表主鍵名
????????????????});

然后再生成遷移(或者自己在up里創(chuàng)blog_tag表和設(shè)置外鍵關(guān)系)。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板