Я новичок в беглом API.У меня есть устаревшая база данных, которую я не могу изменить в данный момент.Проще говоря, это то, что мне нужно для достижения:
public class ItemCategory
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Item> Items { get; set; }
}
public class Item
{
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<ItemCategory> ItemCategories { get; set; }
public virtual ICollection<Item> RelatedItems { get; set; }
}
Элементы могут быть во многих категориях, RelatedItems могут быть в разных категориях для текущего элемента (который может не иметь никаких связанных элементов), существующих таблиц соединениявыглядят так:
ItemCategoriesItems (ID,ItemCategoryID,ItemID)
RelatedItemCategoriesItems (ID,ItemCategoriesItemsID,RelatedItemCategoriesItemsID)
Надеемся, что очевидно, что приведенная выше таблица объединения связанных элементов содержит 2 внешних ключа для таблицы объединения категорий элементов - один указывает на текущий элемент, а другой - на связанный элемент.В настоящее время мой код onModelCreating имеет:
modelBuilder.Entity<ItemCategory>()
.HasMany(c => c.Items)
.WithMany(set => set.ItemCategories)
.Map(mc =>
{
mc.ToTable("ItemCategoriesItems","testdb");
mc.MapLeftKey("ItemCategoryID");
mc.MapRightKey("ItemID");
});
..., который заставляет работать категории / элементы, но я застрял на том, как получить RelatedItems.
Любая помощь очень ценится!