【发布时间】:2016-06-08 02:28:40
【问题描述】:
我在我的项目中使用 EF7 rc2。 有两个相关的类
public sealed class Member
{
......
public MemberState State { get; set; }
}
public sealed class MemberState
{
public Guid Id { get; set; }
public Org Org { get; set; }
....
}
及EF配置:
modelBuilder.Entity<MemberState>(entity =>
{
entity.ToTable("State");
entity.HasKey(e => e.Id);
entity.Property<Guid>("Idf_Org");
entity.HasOne(e => e.Org).WithMany().HasForeignKey("Idf_Org");
.....
});
modelBuilder.Entity<Member>(entity =>
{
entity.HasKey(e => e.Id);
entity.Property<Guid>("Idf_State");
entity.HasOne(member => member.State).WithMany().HasForeignKey("Idf_State");
});
所以,在某些时候,我想将 null 设置为 MembersState 中的 Org 字段。
mwmbwe.State = new MemberState()
{
Id = Guid.NewGuid(),
....
Org = null
};
_provider.SaveChanges();
将更改保存到数据库时发生异常。 EF 尝试插入具有空 PK 的相关 Org 项目。 有什么办法可以避免吗?
还尝试通过直接 ExecuteSqlCommand 解决此问题,而不是从 EF 提供程序获取新的 MemberState,但它也会引发异常: “对象引用未设置为对象的实例。”
在数据库字段中,包含标记为“允许为空”的 Idf_Org
【问题讨论】:
标签: c# entity-framework entity-framework-core