【发布时间】:2013-05-09 09:09:22
【问题描述】:
我有以下型号:
User
id
Document Doc1
Document Doc2
Document
Id
Data
Name
在实体框架中建模,例如:
modelBuilder.Entity<Document>()
.HasOptional(e => e.User)
.WithOptionalPrincipal(e => e.Doc1);
modelBuilder.Entity<Document>()
.HasOptional(e => e.User)
.WithOptionalPrincipal(e => e.Doc2);
这个想法是用户不需要拥有这两个文档。 但是,当我尝试使用以下代码删除文档时:
using (var ctx = new DealersContext("Db"))
{
var doc = ctx.Documents.FirstOrDefault(d => d.Id == docId);
if (doc != null)
{
ctx.Documents.Remove(doc);
ctx.SaveChanges();
}
}
我收到以下错误: DELETE 语句与 REFERENCE 约束“FK_dbo.DealersUsers_dbo.Documents_IdDocument_Id”冲突。冲突发生在数据库“DealersDb”、表“dbo.DealersUsers”、列“IdDocument_Id”中。如何解决这个问题?
【问题讨论】:
标签: c# entity-framework-4 ef-code-first