我有以下遗留代码片段我无法更改:
public class EntityA
{
int SeqId { get; set; } //Not part of the key
[Association("EntityB", "Seq_ID", "Seq_ID")]
public EntityB EntityB { get; set; }
}
public class EntityB
{
[Key]
int SeqId { get; set; }
}
数据库是通过SQL而不是Entity Framework创建的。没有外国人 键和关系被处理为一对一/零。
现在,我们必须首先使用模型代码,实体框架添加外键关系。 由于我无法更改模型,但我可以覆盖 OnModelCreating 事件,我想要 重写从必需到可选的关系。我试图添加
modelBuilder.Entity<EntityA>().Property(i => i.EntityB).IsOptional();
和
modelBuilder.Entity<EntityA>().HasOptional(i => i.EntityB).WithOptionalDependent()
但在两种情况下,实体框架都会抱怨。
答案 0 :(得分:0)
我们使用了以下解决方法:
创建模型后直接删除外键。不漂亮但有效。