我遇到一个问题,理解为什么在向ObjectContext的DbSet添加新实体时,找不到该实体会再次查找它。
using (var db = new SmartrailDB())
{
var cart01 = db.Carts.SingleOrDefault(x => x.Number == 0);
if (cart01 == null)
{
cart01 = new Cart { Number = 0 };
db.Carts.Add(cart01);
}
var cart02 = db.Carts.SingleOrDefault(x => x.Number == 0); // Should find the cart I just added - right?
Assert.IsNotNull(cart02); // Fails because cart02 does not exist in the db.Carts collection
}
有人能告诉我这里做错了吗?
也是星期五晚上,所以大脑现在半睡半醒。
答案 0 :(得分:-1)
在尝试访问实体之前,必须更新上下文。只是做:
在db.SaveChanges();
之后 db.Cart.Add(cart01);