[英]entity object cannot be referenced by multiple instances of IEntityChangeTracker. while adding related objects to entity in Entity Framework 4.1
[英]Creating object with related objects in Entity Framework 4.1
我有以下數據庫表/ EF對象
public class Transaction
{
//some other properties
public ICollection<TransactionItems> Items {get; set;}
}
public class TransactionItems
{
//some properties
}
我需要做的是為它的Items屬性創建一個新的Transaction實例以及TransactionItems的幾個實例,並將所有這些實例保存到我的數據庫中
我嘗試了以下方法:
Transaction trans = new Transaction();
//set its properties
然后在foreach循環中,我遍歷一個集合並為每個成員創建一個新的TransactionItem,然后嘗試將其添加到跨對象Item集合中
foreach(var item in myCollection)
{
TransactionItem newItem = new TransactionItem();
//set its properties
//add it to the tran Item collection
tran.TransactionItems.Add(newItem);//getting null reference here...
}
嘗試將transactionITem添加到我的Transaction對象的Item集合時,我得到一個空引用異常。 我究竟做錯了什么?
您需要初始化屬性以在構造函數中保存集合實例:
Items = new HashSet<TransactionItems>();
你有沒有初始化TransactionItems
在構造函數用於Transaction
或在您的實際代碼?
public class Transaction
{
public Transaction()
{
Items = new List<TransactionItems>();
}
//some other properties
public ICollection<TransactionItems> Items {get; set;}
}
或不太可取(除非您也執行上述操作):
Transaction trans = new Transaction()
{
Items = myCollection.Select(
item => new TransactionItem
{
// set its properties
})
.ToList();
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.