Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 可选依赖关系EF codefirst_C#_Entity Framework 4_Ef Code First - Fatal编程技术网

C# 可选依赖关系EF codefirst

C# 可选依赖关系EF codefirst,c#,entity-framework-4,ef-code-first,C#,Entity Framework 4,Ef Code First,我有以下型号: User id Document Doc1 Document Doc2 Document Id Data Name 在实体框架中建模,类似于: modelBuilder.Entity<Document>() .HasOptional(e => e.User) .WithOptionalPrincipal(e => e.Doc1); modelBui

我有以下型号:

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);
我得到以下错误:
DELETE语句与引用约束“FK_dbo.DealersUsers_dbo.Documents_IdDocument_Id”冲突。冲突发生在数据库“DealersDb”、表“dbo.DealersUsers”、列“IdDocument\u Id”中。如何解决此问题?

文档仍有经销商(或经销商仍有此文档) 导致数据库在从数据库中删除文档时需要将“IdDocument\u Id”设置为null

在这种情况下,“IdDocument\u Id”不可为空。这导致了这个错误。您还需要从数据库中删除此关系,或使经销商>文档关系为空

 using (var ctx = new DealersContext("Db"))
    {
       var doc = ctx.Documents.FirstOrDefault(d => d.Id == docId);
       if (doc != null)
       {
         ctx.Documents.Remove(doc);
         ctx.SaveChanges();
        }

    }