Entity framework 值不能为null。参数名称:源

Entity framework 值不能为null。参数名称:源,entity-framework,Entity Framework,这是我的db模型类,当我想选择删除我得到的相关记录“值不能为null。参数名称:源” [表(“Ekrankullanizikisitlama”)] 公共类Ekrankullanizikisitlama:ISimpleEntity { 公共长ID{get;set;} 公共字符串KurumVKn{get;set;} 公共字符串SaticiKurum{get;set;} 公共布尔标志{get;set;} } `(子项设置为DbSet)` child_set为entiy,并且在尝试强制转换DbSet

这是我的db模型类,当我想选择删除我得到的相关记录“值不能为null。参数名称:源”

[表(“Ekrankullanizikisitlama”)]
公共类Ekrankullanizikisitlama:ISimpleEntity
{
公共长ID{get;set;}
公共字符串KurumVKn{get;set;}
公共字符串SaticiKurum{get;set;}
公共布尔标志{get;set;}
}
`(子项设置为DbSet)`
child_set为entiy,并且在尝试强制转换DbSet时已满,返回null

adr = (child_set as DbSet<ISimpleEntity<long>>).FirstOrDefault(p => p.ID == ID) as T;
adr=(child_设置为DbSet)。FirstOrDefault(p=>p.ID==ID)设置为T;

EF不适用于接口<代码>数据库集必须使用实际实体实现定义

您可以使用泛型类

尝试
context.Set()
获取实体的
DbSet

T adr = context.Set<T>().FirstOrDefault(p => p.ID == ID);
T adr=context.Set().FirstOrDefault(p=>p.ID==ID);

能否添加错误的
堆栈跟踪
?堆栈跟踪为emtpy。只有我能说,当它向DbSet转换时,它返回null
adr = (child_set as DbSet<ISimpleEntity<long>>).FirstOrDefault(p => p.ID == ID) as T;
T adr = context.Set<T>().FirstOrDefault(p => p.ID == ID);