0

我在从 2 个外键创建主键时遇到一些问题

模型示例:Element、Color、ElementToColor

ElementToColor 应该包含 2 个代表 Element 和 Color 关系的外键

[Key,Column(Order = 1)]
public Int ElementId {get; set;} 

[Key,Column(Order = 2)]
public Int ColorId {get; set;} 

但是当我尝试添加迁移时它失败了

ElementToColor 必须有主键

但是为那个映射表之王做主键是错误的,它会产生重复的数据

1,1,1

2,1,1

...

在这种情况下我该怎么办

我用:

应用:asp.net core 2.1 webApi

数据库:MySql

ORM:MySql EFCore

4

1 回答 1

0

找到它,我需要使用流畅的 API:

在 ApplicationDbContext 中,我应该像这样覆盖方法 OnModelCreating :

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<ElementToColor>().HasKey(e => new { e.ElementId, e.ColorId }
    );
于 2018-06-28T08:14:09.817 回答