gpt4 book ai didi

c# - 设置 EF core 不为特定导航属性创建数据库外键

转载 作者:行者123 更新时间:2023-12-02 07:31:39 47 4
gpt4 key购买 nike

考虑实体CompanyProduct:

public class Company
{
prop Guid Id {get; set;}
}

public class Product
{
prop Guid CompanyId {get; set;}
prop Company Company {get; set;}
}

创建迁移时,我希望从 ProductCompany 的关系不要在数据库中创建外键约束。

我理解不创建外键的所有问题,我总是创建外键,但在一个特定问题中,我想避免一个外键。如何做到这一点?

说明:这是一些诊断数据,因此我需要保留所有有助于诊断的信息,即使无法插入主实体也是如此。如果插入了该内容,我们将很乐意使用导航属性来导航到它。如果失败,我们可以回到原始数据源,看看这个特定的Company

出了什么问题

最佳答案

删除EF创建的ForeignKey代码。然后进行迁移 Action 。希望对你有帮助。例如:(如下所示的一些行)

                table.ForeignKey(
name: "FK_Products_Companies_CompanyId",
column: x => x.CompanyId,
principalTable: "Companies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);

关于c# - 设置 EF core 不为特定导航属性创建数据库外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60647044/

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