0
我有一个将数据插入表的存储过程。在存储过程语句.Find
之后立即查询是否发生了插入,并且它返回null。如果我稍后再询问另一个DbContext
,它就在那里,所以就好像我需要刷新上下文。实体框架:在存储过程后返回空值
一些示例代码:
string name = "Awesome book";
string id = Guid.NewGuid().ToString();
// Entity Framework context
BooksDb db = new BooksDb();
// call to stored procedure
db.insert_book(id, name);
// check if it's there
book b = db.books.Find(id); // b is null
我需要刷新的东西我去寻找与我在寻找ID的项目?
更新:我想通过下面的评论得出结论。我实际上正在寻找我以为我插入的id,但存储过程有自动创建id。所以基本上我在查询一些不存在的东西。 :)
请显示您的SP并且如何调用它 – octavioccl
似乎您需要在sp之后调用SaveChanges以将上下文中的更改与数据存储同步。 – Aldo
我不这么认为,Aldo –