I'm trying to do a one-to-many relationship in Entity Framework where one of the many items is optionally designated as default.
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; }
}
The configuration for the one-to-many in fluent API seems pretty straightforward:
HasMany(e => e.Items).WithRequired(i => i.SomeEntity).WillCascadeOnDelete(true);
But the solution for implementing the default item has proven elusive. I tried this (and various variations) with no luck. It tells me that 'Schema specified is not valid'.
HasOptional(e => e.DefaultItem).WithRequired(i => i.SomeEntity);
Any ideas? Thanks in advance.
See Question&Answers more detail:os