0
我在研究實體框架並使用Code First和Data Annotations。未裝入屬性實體數據
我的問題,是當試圖獲取數據,爲相關屬性的數據沒有被加載(即所有值始終爲0)
下面是我的代碼:
public class Product
{
[Key()]
public int ProductID { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
[Required]
[ForeignKey("Price")]
public int PriceID { get; set; }
public virtual Price Price { get; set; }
public Product()
{
this.ProductID = 0;
this.Name = String.Empty;
this.Price = new Price();
this.IsActive = true;
}
public class Price
{
[Key()]
public int PriceID { get; set; }
public decimal CostPrice { get; set; }
public decimal RetailPrice { get; set; }
public Price()
{
this.PriceID = 0;
this.CostPrice = 0.00m;
this.RetailPrice = 0.00m;
}
}
這裏的代碼通過ID來獲得數據:
public Product Get(int ID)
{
Product output = null;
using (PrismContext context = new PrismContext())
{
output = context.Products.Include("Price")
.Where(p => p.ProductID == ID)
.FirstOrDefault();
return output;
}
}
我能夠得到的產品對象的屬性數據,但價格始終爲0
你確定這是事實嗎?我想EF會首先實例化Product,然後使用它的Price屬性來設置價格。 –
是的。請參閱http://stackoverflow.com/questions/22836194/ef-default-values-for-related-entities-in-constructor – haim770
嗨haim非常感謝,刪除它解決了這個問題。還從構造函數中刪除了默認值 – codex10