0
我有以下型號:可選可選的依賴關係EF codefirst
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);
的想法是,用戶不需要有這些2文件。 然而,當我試圖刪除文件與下面的代碼:
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語句衝突與基準約束「FK_dbo.DealersUsers_dbo.Documents_IdDocument_Id」。衝突發生在數據庫「DealersDb」,表「dbo.DealersUsers」,列'IdDocument_Id'。這怎麼解決?
你是對的,完全忘了這一點 – Elena 2013-05-09 09:50:25