我的数据库中有两个表:
public class PARENT
{
public string ID_PARENT { get; set; }
public int? ID_PARENT_BIS { get; set; }
public List<CHILD> CHILDREN { get; set; }
}
此表有一个主键:ID_PARENT
。
ID_PARENT_BIS
被用于多种关系。
public class CHILD
{
[Required]
public string PID_CHILD { get; set; }
public int ID { get; set; }
public int? ID_PARENT_BIS { get; set; }
[Required]
public string ID_EXTCHILD { get; set; }
}
在两者之间,存在一对多的关系。这是映射:
modelBuilder.Entity<PARENT>(entity =>
{
entity.HasKey(e => e.ID_PARENT);
entity.HasMany(a => a.CHILDREN)
.WithOne()
.HasForeignKey(i => i.ID_PARENT_BIS)
.HasPrincipalKey(i => i.ID_PARENT_BIS);
});
映射是正确的,但是当我要检索PARENT
的所有元素时,出现以下错误:
处理请求时发生未处理的异常。 InvalidCastException:内容连续NULL(列包含空数据)
我的关系需要配置为使用ID_PARENT_BIS
,而不是ID_PARENT
。因为ID_PARENT_BIS
在数据库中可以为null。这是项目的先决条件。
那么使用Entity Framework Core真的有可能做到这一点吗?
谢谢!