0
我有下面的類對象:實體框架的實體並不自動填充上保存
public class Order
{
public Order() { LineItems = new List<OrderLineItem>(); }
public int OrderID { get; set; }
..
public virtual ICollection<OrderLineItem> LineItems { get; set; }
..
}
public class OrderLineItem
{
public int OrderLineItemID { get; set; }
public int ProductID { get; set; }
public virtual Product Product { get; set; }
public int Quantity { get; set; }
}
public class Product
{
public int ProductID { get; set; }
...
}
當我堅持訂單,我已經設置了OrderLineItems到相應的字段。但是,使用以下代碼將其保存到數據庫後:
public void SaveOrder(Order ord)
{
if (ord.OrderID == 0)
{
context.Orders.Add(ord);
}
else
{
var currentCat = context.Orders.Find(ord.OrderID);
if (currentCat != null)
context.Entry(currentCat).CurrentValues.SetValues(ord);
else
context.Entry(ord).State = EntityState.Modified;
}
context.SaveChanges();
}
OrderLineItem.Product對象爲null。它具有適當的ProductID集,但不會填充實際產品。我嘗試了一些類似於以下的不同映射,但我對實體框架有點新鮮。
modelBuilder.Entity<OrderLineItem>()
.HasRequired(c => c.Product);
任何幫助將不勝感激。
產品已在數據庫中。 – JCab 2012-07-31 14:56:20