在Entity Framework中为joiner表创建复合主键

时间:2016-04-05 00:24:07

标签: entity-framework-6

我已将以下业务类添加到我的Code First模型中。

EntityType 'NoteTag' has no key defined. Define the key for this EntityType.

当我尝试为其创建迁移时,我收到错误

AppComponent

Note和Tag类

1 个答案:

答案 0 :(得分:0)

我从我的数据库结构中反向设计代码,看起来我不应该声明joiner类

使用System;     使用System.Data.Entity;     使用System.ComponentModel.DataAnnotations.Schema;     使用System.Linq;

public partial class Model2 : DbContext
{
    public Model2()
        : base("name=Model2")
    {
    }

    public virtual DbSet<Note> Notes { get; set; }
    public virtual DbSet<Tag> Tags { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Note>()
            .HasMany(e => e.Tags)
            .WithMany(e => e.Notes)
            .Map(m => m.ToTable("NoteTags"));
    }
}