向DataContext db添加新条目原因为null引用

时间:2011-02-23 16:54:11

标签: c# linq list linq-to-entities datacontext

我对DataContext有点新意,但它应该仍然很简单。

我正在开发一个招标网站,其中有许多“产品”,每个产品都有很多“出价” 我有2个表(在.NET中持久存储到DataContext模型):
BIDPRODUCT(以auctionID为主键)
BIDENTRY(拍卖ID为外键)
关系:BIDPRODUCT - > BIDENTRY

我正在尝试将1个带有1个链接的bidentry的产品添加到db中: (预先填充了List<Products>List<BidEntries>

        DBDataContext db = new DBDataContext();
        BidProduct p = Products.First();
        BidEntry b = Bids.Where(bi => bi.auctionId == p.auctionId).First();

        p.BidEntries.Add(b);

        db.BidProducts.InsertOnSubmit(p);
        db.SubmitChanges(); 

调用p.BidEntries.Add(b)后,我会在BidEntries上获得空引用!? 如果我在a = new上尝试BidEntries,我仍然会得到一个空引用。

这是什么!?

1 个答案:

答案 0 :(得分:1)

您是否已将p.BidEntries初始化为List<BidEntries>

错误表明它不是。

您需要确保在代码中的这一点之后:

 BidProduct p = Products.First();

p.BidEntries不为空 - 为其分配new List<BidEntry>()或确保每个产品都具有非空BidEntries属性。