[英]Setup EF core to not create Database Foreign Key for specific Navigation Property
考慮實體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
有什么問題
刪除EF創建的已創建的ForeignKey代碼。 然后執行遷移操作。 希望這會幫助你。 例如:(一些像下面這樣的行)
table.ForeignKey(
name: "FK_Products_Companies_CompanyId",
column: x => x.CompanyId,
principalTable: "Companies",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.