EF 4.1 CF Fluent API картографическая проблема - PullRequest
1 голос
/ 27 июня 2011

Я новичок в беглом 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.

Любая помощь очень ценится!

...