我对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
,我仍然会得到一个空引用。
这是什么!?
答案 0 :(得分:1)
您是否已将p.BidEntries
初始化为List<BidEntries>
?
错误表明它不是。
您需要确保在代码中的这一点之后:
BidProduct p = Products.First();
p.BidEntries
不为空 - 为其分配new List<BidEntry>()
或确保每个产品都具有非空BidEntries
属性。