EF 4.1 CF Fluent API映射问题

时间:2011-06-27 13:02:37

标签: entity-framework-4.1 code-first fluent-interface

我是流畅的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。

任何帮助都非常感谢!

0 个答案:

没有答案