实体框架中的UDF调用被缓存

时间:2010-04-01 02:14:43

标签: entity-framework entity

我正在阅读有关调用udf函数的文章http://blogs.msdn.com/alexj/archive/2009/08/07/tip-30-how-to-use-a-custom-store-function.aspx后进行测试。当我使用objectContext.Entities.Where函数时(t => udf(para1,para2)== 1),这里的实体不是ObjectQuery,而是一个ObjectSet,第一次调用方法时,它运行正常,如果我重用了objectContext,并再次运行但是使用了不同的para1,para2,那么之前的参数值仍然被缓存,结果与前一个相同,这是错误的。 sql profiler显示两个查询都命中了数据库,但t-sql是相同的。我错过了什么吗?并且ObjectSet不支持.where(esql_string)。如何让udf使用ObjectSet?

由于 佛瑞德

1 个答案:

答案 0 :(得分:1)

佛瑞德,

你描述的内容听起来很像EF 4中的错误。

我会转发给EF团队的一些人进行调查。

亚历