2009-11-10 55 views
1

在LINQ to Entities中,我将存储过程的结果集映射到实体。Linq to Enities:存储过程调用后结果集未得到更新

在存储过程中,我执行一些更新语句并通过运行SELECT查询并将结果集映射到实体来返回结果集。

数据库行得到正确更新,但返回的实体未反映这些更改。相反,更新之前的数据正在返回?

有什么建议吗?

谢谢。 Abe

回答

1

上述实体是否已经缓存在上下文中? (即,您是否已经查询过它们?)

如果是这样,身份管理器将始终让您回到原始对象(而不是在同一上下文中创建具有相同身份的新对象)。因此,对于已经被其他查询读取的数据,只考虑身份/主键字段。

+0

我相信如此。我查询一个对象,然后调用一个对该对象执行更新的存储过程。 有什么办法强制身份管理器在存储过程被调用后重新加载数据?基本上,我需要从存储过程返回的对象来反映更新。 谢谢! – Abe 2009-11-10 05:12:51

+0

我不知道,对不起。 – 2009-11-10 05:15:03