2013-01-13 58 views
4

很多映射我有(用流利API)User类与类之间Product使用ProductXUser类的三大类EF代码优先许多使用现有的映射类

public class User 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<Product> Products { get; set; } 
} 

public class Product 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public virtual ICollection<User> Users { get; set; } 
} 

public class ProductXUser // Mapping class 
{ 
    public int Id { get; set; } 
    public int User_Id { get; set; } 
    public int Product_Id { get; set; } 
    public DateTime DateMapped { get; set; } 
} 

我怎么能一个不少映射到一对多的关系映射表?

回答

3

你不能。一旦你将交接表作为实体公开,你就不能使用多对多的关系。你必须改用两个一对多的关系。一个从UserProductXUser,第二个从ProductProductXUser。您还必须更改ProductUser中的导航属性以指向收集ProductXUser。只有当您不将联结表作为实体时,才能直接进行多对多联系。