[英]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
价值观MessageThread
到null
?
您无法从此表中删除
dbo.MessageThread", column 'ListingID'
因为您有此表的外键
FK_dbo.MessageThread_dbo.Listings_ListingID
在继续之前,请先删除外键字段值。
或者您可以通过Cascading Deletion
来实现,请查看此链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.