我正在尝试在实体框架中建立一对多关系,其中许多项目之一被可选地指定为默认值。
public class SomeEntity
{
public int Id { get; set; }
public Item DefaultItem { get; set; } // Optional
public ICollection<Item> Items { get; set; }
}
public class Item
{
public int Id { get; set; }
public string ItemName { get; set; }
public SomeEntity SomeEntity { get; set; }
}
fluent API 中的一对多配置看起来非常简单:
HasMany(e => e.Items).WithRequired(i => i.SomeEntity).WillCascadeOnDelete(true);
但是实现默认项目的解决方案已被证明是难以捉摸的。我尝试了这个(以及各种变体),但没有运气。它告诉我“指定的架构无效”。
HasOptional(e => e.DefaultItem).WithRequired(i => i.SomeEntity);
有任何想法吗?提前致谢。