gpt4 book ai didi

mysql - 如何在 MySql EFCore 中从 2 个外键创建主键

转载 作者:行者123 更新时间:2023-11-29 17:24:01 25 4
gpt4 key购买 nike

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

模型示例:Element、Color、ElementToColor

ElementToColor 应包含 2 个表示元素和颜色关系的外键

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

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

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

ElementToColor must have primary key

但为那个映射表设置主键是错误的,会产生重复数据

1,1,1

2,1,1

...

这种情况我该怎么办

我使用:

应用程序:asp.net core 2.1 webApi

数据库:MySql

ORM:MySql EFCore

最佳答案

找到了,我需要使用 Fluent API:

在ApplicationDbContext中我应该像这样重写方法OnModelCreating:

    protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ElementToColor>().HasKey(e => new { e.ElementId, e.ColorId }
);

关于mysql - 如何在 MySql EFCore 中从 2 个外键创建主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51077553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com