考虑实体Company
和Product
:
public class Company
{
prop Guid Id {get; set;}
}
public class Product
{
prop Guid CompanyId {get; set;}
prop Company Company {get; set;}
}
在创建迁移时,我希望从Product
到Company
的关系不要在数据库中创建外键约束。
我了解不创建外键的所有问题,我总是创建外键,但是在一个特定问题中,我想避免使用一个外键。该怎么做?
说明:这是一些诊断数据,因此即使无法插入主实体,我也需要保留所有有助于诊断的信息。
如果已插入,我们将很高兴使用Navigation属性来导航到它。如果失败,我们可以返回原始数据源,看看这个特定的Company
答案 0 :(得分:1)
删除由EF创建的创建的ForeignKey代码。然后执行迁移操作。 希望这会帮助你。例如:(如下几行)
table.ForeignKey(
name: "FK_Products_Companies_CompanyId",
column: x => x.CompanyId,
principalTable: "Companies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);