Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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
Entity framework 实体框架与可空列和不带外键的关联_Entity Framework_Foreign Keys_Associations_Nullable - Fatal编程技术网

Entity framework 实体框架与可空列和不带外键的关联

Entity framework 实体框架与可空列和不带外键的关联,entity-framework,foreign-keys,associations,nullable,Entity Framework,Foreign Keys,Associations,Nullable,我试图将实体框架与不使用外键的数据库一起使用。更糟糕的是,具有关系的表使用可以为null的相关字段。例如,Order表中有一列用于ClientID,该列为nullable。请记住,我没有创建此数据库,也不能对其进行更改我希望仍然能够使用Entity Framework(v6.1)对数据库执行CRUD操作 正如您所料,问题与实体之间的关联有关。我可以自己手动创建关联,但无法设置引用完整性,因为实体中的属性映射到数据库中可以为NULL的列 有没有办法绕过这个问题?也许是一种使用关联而不必定义引用完整

我试图将实体框架与不使用外键的数据库一起使用。更糟糕的是,具有关系的表使用可以为null的相关字段。例如,
Order
表中有一列用于
ClientID
,该列为
nullable
。请记住,我没有创建此数据库,也不能对其进行更改我希望仍然能够使用Entity Framework(v6.1)对数据库执行CRUD操作

正如您所料,问题与实体之间的关联有关。我可以自己手动创建关联,但无法设置引用完整性,因为实体中的属性映射到数据库中可以为
NULL
的列


有没有办法绕过这个问题?也许是一种使用关联而不必定义引用完整性的方法?如果某个给定的父项被删除,则由我来确保删除所有子项记录。

我认为这将起作用:

public class Order
{
   //other properties
   public int? ClientId {get; set;}
}
设定

modelBuilder.Entity<Order>()
.HasOptional(x=>x.Client)
.WithMany(x=>x.Orders)
.WithForeignKey(x=>x.CliendId);
modelBuilder.Entity()
.has可选(x=>x.Client)
.有许多(x=>x个订单)
.使用foreignkey(x=>x.CliendId);