簡體   English   中英

EF一對多(可空)刪除

[英]EF one to many (nullable) delete

我正在MVC控制器中刪除父實體,並收到此錯誤:

[SqlException]:DELETE語句與REFERENCE約束“ FK_dbo.MessageThread_dbo.Listings_ListingID”沖突。 數據庫“ MyDB”的表“ dbo.MessageThread”的列“ ListingID”中發生了沖突。 該語句已終止。 在System.Data.SqlClient.SqlConnection.OnError(SqlException異常,布爾值breakConnection,動作1 wrapCloseInAction)

MessageThread表在EF中的映射如下:

// Relationships
this.HasOptional(t => t.Listing)
        .WithMany(t => t.MessageThreads)
        .HasForeignKey(d => d.ListingID);

MessageThread (子級)中的ListingID (父級)列可以為nullable

我看了這篇文章,但答案卻沒用。

根據這個 ,應該不是EF映射刪除父記錄,並設置孩子ListingID價值觀MessageThreadnull

您無法從此表中刪除

dbo.MessageThread", column 'ListingID'

因為您有此表的外鍵

FK_dbo.MessageThread_dbo.Listings_ListingID

在繼續之前,請先刪除外鍵字段值。

或者您可以通過Cascading Deletion來實現,請查看此鏈接

級聯刪除

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM