【发布时间】:2015-09-06 06:37:00
【问题描述】:
我正在将 EF 用于我正在开发的 CMS 类型的应用程序。我遇到了这个问题,我需要一个 M2M(多对多)关系,我希望自己创建第三张表。 (老实说,我自己创建了所有表格,个人喜好)。
我一直在搜索谷歌,似乎无法手动创建第三张表,EF 做到了,还有这个问题吗?
例如这里是一个测试类。
public class Banners
{
public int ID{get;set;}
public string Name{get;set;}
//other columns..
public IList<Page> Pages{get;set;}
}
public class Page
{
public int ID{get;set;}
public string Name{get;set;}
//other columns..
public IList<Banners> Bannerss{get;set;}
}
//MAKE THIS TABLE MANUALLY..?
public class BannersInPages
{
public int BannerId{get;set;}
public int PageId{get;set;}
public int BannerSortOrder{get;set;}
public string Placement {get;set;}
}
从上面的类中,你可以看到一个Banner可以在很多页面中,一个页面可以有很多个banner。使用存储关系的第三列 BannerInPages 加上两个额外的列来指定横幅在页面上的排序和放置。
如何使用 EF fluent API 链接这些数据?这可能吗?
亲切的问候
阿西姆。
【问题讨论】:
标签: c# entity-framework