【发布时间】:2011-09-02 17:56:39
【问题描述】:
我正在尝试将两个现有的出价和一个新的出价附加到现有的拍卖中,但是如果不先从数据库中提取产品,我就无法这样做。
此代码有效,但我将如何只为现有出价提供出价 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();
}
编辑 - 我也尝试过,但遇到了参照完整性问题:出现以下内部异常:
{“存储更新、插入或删除语句影响了意外数量的行 (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();
}
【问题讨论】:
-
这个问题与前一个关于附加一个已知实体的问题有关 - 我让它工作得很好。 stackoverflow.com/questions/7286004/…
标签: entity-framework-4 ef-code-first code-first