Entity framework 缓存实体框架中的UDF调用

Entity framework 缓存实体框架中的UDF调用,entity-framework,entity,Entity Framework,Entity,在阅读了一篇关于udf函数调用的文章之后,我正在做一个测试。当我对objectContext.Entities.Where(t=>udf(para1,para2)==1)使用函数时,这里的实体不是ObjectQuery,而是ObjectSet,我第一次调用该方法时,它会正确运行,如果我重用objectContext,并再次运行它,但使用不同的para1,para2,那么之前的参数值仍会被缓存,结果和前一个一样,这是错误的。sql探查器显示两个查询都命中数据库,但t-sql是相同的。我错过什么了吗

在阅读了一篇关于udf函数调用的文章之后,我正在做一个测试。当我对objectContext.Entities.Where(t=>udf(para1,para2)==1)使用函数时,这里的实体不是ObjectQuery,而是ObjectSet,我第一次调用该方法时,它会正确运行,如果我重用objectContext,并再次运行它,但使用不同的para1,para2,那么之前的参数值仍会被缓存,结果和前一个一样,这是错误的。sql探查器显示两个查询都命中数据库,但t-sql是相同的。我错过什么了吗?并且ObjectSet不支持.where(esql_字符串)。如何让udf使用ObjectSet

谢谢 弗雷德

弗雷德

你所描述的听起来很像EF4中的一个bug

我将期待EF团队中的一些人进行调查


Alex

你看过SQL跟踪了吗?这会很快告诉你EF是否做对了。谢谢。我正在使用vs.NET2010RC和最新的ef4位