实体框架dbset未找到添加的实体

时间:2013-05-10 14:31:01

标签: frameworks entity dbset

我遇到一个问题,理解为什么在向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
        }

有人能告诉我这里做错了吗?

也是星期五晚上,所以大脑现在半睡半醒。

1 个答案:

答案 0 :(得分:-1)

在尝试访问实体之前,必须更新上下文。只是做:

db.SaveChanges();

之后

db.Cart.Add(cart01);