簡體   English   中英

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM