awsome EF5를 먼저 사용하려고합니다. 추가 필드가있는 many-to-many 테이블을 만들 필요가 있습니다.EF5 코드 먼저 - 추가 필드가있는 Many to Many
제품 테이블, 주문 테이블이 있고 "크기"필드가있는 주문의 제품 테이블이 필요합니다.
내가 한 것은 그 사이의 연결 테이블 인 "ProductOrder"라는 새로운 클래스를 만들고 참조를 만들었습니다.
새 주문을 만들 때 작동하지만 주문을 가져올 때 작동하지 않습니다. (삽입 후 DB에있는) 연결된 주문을받지 못합니다.
왜 그런가? :)
내 수업
은 다음과 같습니다public class Order
{
public int ID { get; set; }
...
public ICollection<ProductOrder> Products { get; set; }
public Order()
{
Products = new HashSet<ProductOrder>();
}
}
public class Product
{
public int ID { get; set; }
public ICollection<ProductOrder> Orders { get; set; }
}
public class ProductOrder
{
public int ID { get; set; }
public int ProductID { get; set; }
public int OrderID { get; set; }
public int Size { get; set; }
[ForeignKey("OrderID")]
public Order order { get; set; }
[ForeignKey("ProductID")]
public Product product { get; set; }
}
및 onModelCreating에
modelBuilder.Entity<Order>()
.HasMany(p => p.Products)
.WithRequired(o => o.order)
.HasForeignKey(o => o.OrderID);
modelBuilder.Entity<Product>()
.HasMany(o => o.Orders)
.WithRequired(p => p.product)
.HasForeignKey(p => p.ProductID);
Virtual to ALL 참조 오브젝트를 추가 한 후 작동합니다! 많은 많은 감사합니다 :) – Roman