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