多くのアイテムの1つがオプションでデフォルトとして指定されているEntity Frameworkで1対多の関係を構築しようとしています。
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; }
}
流暢な API での 1 対多の構成は非常に簡単に見えます。
HasMany(e => e.Items).WithRequired(i => i.SomeEntity).WillCascadeOnDelete(true);
しかし、デフォルト項目を実装するための解決策は、とらえどころのないものであることが証明されています。これ(およびさまざまなバリエーション)を試してみましたが、うまくいきませんでした。「指定されたスキーマは無効です」と表示されます。
HasOptional(e => e.DefaultItem).WithRequired(i => i.SomeEntity);
何か案は?前もって感謝します。