У меня есть следующие классы моделиКак предотвратить создание EntityFramework из нескольких отношений внешнего ключа?
public class MenuItem
{
public int MenuItemId { get; set; }
public int MenuId { get; set; }
public Menu Menu { get; set; }
public string Name { get; set; }
public int Price { get; set; }
public MenuType MenuType { get; set; }
}
public class Menu
{
public int MenuId { get; set; }
public DateTime Date { get; set; }
public ICollection<MenuItem> BreakFast { get; set; }
public ICollection<MenuItem> Lunch { get; set; }
public ICollection<MenuItem> Snacks { get; set; }
public ICollection<MenuItem> Dinner { get; set; }
}
Теперь я понимаю, что, в соответствии с EF Code First конвенции должна генерировать таблицу
MenuItem
С MenuItemId как первичный ключ и MenuId в качестве ключа Foregin, но из-за чего-то EF продолжает генерировать повторяющиеся внешние ключи (дополнительно 4, если быть точным) для MenuId нравится MenuId1,2,3,4.
Это потому, что у меня есть ICollection
MenuItems?
Я не понимаю, почему это должно быть проблемой.
Обязательно дайте ему возможность! .. но все равно я могу переопределить это поведение. Я пробовал явное связывание FK с использованием как аннотаций данных, так и API EF Fluent, но не повезло –