我试图将两个现有和一个新的出价附加到现有的拍卖,但我无法做到这一点而无需首先从数据库中提取产品。如何将现有实体集合添加到现有实体,而无需先使用代码优先的框架从数据库中提取现有实体
此代码的工作,但我将如何去只是提供了投标的ID为现有的出价,然后保存拍卖
using (var db = new DataContext())
//find existing auction
var auction = db.Auctions.Find(1);
var bid1 = db.Bids.Find(1);
var bid2 = db.Bids.Find(2);
var bid3 = new Bid()
{
//New Bid
};
//existing
auction.Bids.Add(bid1);
//existing
auction.Bids.Add(bid2);
//new
auction.Bids.Add(bid3);
db.SaveChanges();
}
编辑 - 我想这是很好的,但有一个参照完整性问题:用下面的InnerException:
{“店更新,插入或删除语句影响的行(0)的实体可能已被修改或删除,因为实体加载的意外数字刷新ObjectStateManager项”}
using (var db = new DataContextContext())
{
var auction = db.Auctions.Find(1);
var bid1 = new Bid() { BidId = 1 };
db.Bids.Attach(bid1);
auction.Bids.Add(bid1);
db.SaveChanges();
}
这个问题涉及到一个关于附加一个已知实体的前一个问题 - 我明白了这一点。 http://stackoverflow.com/questions/7286004/how-do-i-add-a-reference-to-another-existing-entity-using-code-first-framework-wi –