2

我在理解为什么将新实体添加到 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
        }

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

星期五也很晚,所以现在大脑半睡着了。

4

1 回答 1

-1

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

db.SaveChanges();紧接着db.Cart.Add(cart01);

于 2013-05-10T14:40:43.230 回答