Quan hệ nhiều nhiều trong Entity Framework – Junction table

Dưới đây hướng dẫn chúng ta cách thiết lập các thuộc tính cho bảng nối (junction table) có thêm các trường khác ngoài trường quan hệ.

Ví dụ: quan hệ nhiều nhiều giữa bảng Products – Orders

Bảng Products

    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public float Price { get; set; }
        public int Quantity { get; set; }
        public ICollection<ProductOrders> Orders { get; set; }
    }

Bảng Orders

    public class Order
    {
        public int Id { get; set; }
        public DateTime OrderDate { get; set; }
        public virtual Customer Customer { get; set; }
        public ICollection<ProductOrders> Products { get; set; }
    }

Bảng ProductOrders

public class ProductOrders
{
        [Key, Column(Order = 0)]
        public int ProductID { get; set; }
        [Key, Column(Order = 1)]
        public int OrderID { get; set; }
        public int Quantity { get; set; }
        public float Price { get; set; }

        public virtual Product Product { get; set; }
        public virtual Order Order { get; set; }
}

Context class

1

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s