在Entity框架中映射多个到多个

时间:2013-07-04 20:37:08

标签: entity-framework

我只想问一下如何映射,如何在样本中使用ProductCustomer?

 public class ProductCustomer
    {
        public virtual Product Product { get; set; }
        public virtual Customer Customer { get; set; }
    }

关于产品和客户:

public class Customer
    {
        public int Id { get; set; }
        public string CustomerName { get; set; }
    }

public class Product
    {
        public int Id { get; set; }
        public string ProductName { get; set; }
        public decimal Amount { get; set; }
    }

谢谢!

1 个答案:

答案 0 :(得分:1)

您不需要创建ProductCustomer对象。

在EF中,您可以创建客户和产品,然后为每个创建集合。这将自动创建正确的链接表。

public class Customer
{
    public int Id { get; set; }
    public string CustomerName { get; set; }

    public virtual List<Product> Products {get;set;}
}

public class Product
{
    public int Id { get; set; }
    public string ProductName { get; set; }
    public decimal Amount { get; set; }

    public virtual List<Customer> Customers {get;set;}
}

但是,如果您的链接表没有有效负载(没有其他数据),则只会出现这种情况。如果是,那么您将需要创建一个类似于您最初所做的实体的链接表,但是您将产品和客户类中的1:多个链接添加到链接实体。然后,您必须修改查询以通过链接表进行查询。