[英]Prevent saving of child objects in Entity Framework
使用實體框架並具有以下類:
public class TestClass{
[Key]
public int id {get; set;}
public int foreignId {get; set;}
[ForeignKey("foreignId")
public MyObject myObject {get; set;}
}
對於此類,我想保存“ TestClass”,但是實體框架首先嘗試保存/創建不需要保存的“ myObject”,因為它只是一個引用。 在某些論壇(請在此處輸入鏈接描述 )中,我讀到我必須在保存之前將myObject顯式設置為“ null”,但是在我看來,這很煩人。
因此,我想問是否可以添加到myObject的注釋或諸如“ IgnoreOnSave”之類的東西?
[ForeignKey("foreignId", "ignoreOnSave")]
public MyObject myObject {get; set;}
更新資料
[NotMapped]
為我做了:
[NotMapped]
[ForeignKey("foreignId")]
public MyObject myObject {get; set;}
使用此屬性,我可以使用外部子對象加載該對象,但是在保存子對象時,“ myObject”將被忽略。 我只需要在代碼中確保將“ myObject”的ID復制到主對象的外鍵屬性。
另外(我正在創建一個Web-Api-Solution)我在外鍵屬性中添加了一個[JsonIgnore]
,以便擁有干凈的界面。
更新資料
使用[NotMapped]
導致linq表達式“ .include”不再可用於相應的屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.