![](/img/trans.png)
[英]What is a proper way of writing entity POCO classes in Entity Framework Core?
[英]What is the proper way to remove a reference using the .NET 4 Entity Framework?
我有一個名為projectVersion
的TPM_PROJECTVERSION
實例,該實例具有一個名為TPM_USER5
的屬性,該屬性的類型為TPM_USER
。 一個TPM_PROJECTVERSION
可以有零個或一個TPM_USER5
引用(對不起,我沒有提供這些名稱。)
當用戶單擊“ 刪除”按鈕時,我想刪除此引用,因此將數據庫中的列設置為null。 我嘗試了以下方法:
projectVersion.TPM_USER5 = null;
但是,當我調用context.SaveChanges()
,該列未更新,並且沒有任何反應。 在調試器下,我可以看到projectVersion.TPM_USER5
確實為空,並且我還看到projectVersion.TPM_USER5Reference.IsLoaded
為true。 我也嘗試過:
context.DeleteObject(projectVersion.TPM_USER5);
如果執行此操作,則在調用context.SaveChanges()
出現異常:
{“ ORA-02292:違反完整性約束(TPMDBO.TPM_PROJECTCHANGES_TPM_US_FK1)-找到子記錄”}
我很樂意發布有關實體映射的更多信息,但不確定確切相關的信息。 有任何想法嗎?
如果我理解正確,那么您將僅刪除導航屬性(TPM_USER5)。 嘗試將原始屬性(TPM_USER5ID?-可能是您的數據庫列名稱)設置為null。
每個導航屬性都必須具有相關的原始屬性(不是POCO實體),並且您可以使用兩者將用戶與TPM_USER5關聯(原始屬性-設置ID,導航屬性-設置引用)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.