WCF服务(每次调用)和静态函数中的实体框架预编译查询.这样行吗



如果有WCF服务(每次调用)使用实体框架访问数据库,而不是直接使用DLINQ,则所有linq查询都是预编译的(作为类的静态成员)。这行吗,因为WCF实例将在其调用完成后被释放。

我在SO上找不到相关的问题,所以请不要介意我再次提问。

这个主题的参考资料可以在这里找到。

我已经熟悉WCF,LINQ。只是不熟悉预编译查询及其对性能的影响,尽管很多人似乎都声称这一点。

预编译的查询只是经过预处理的Linq语句。它没有任何内部状态。包括上下文实例在内的所有状态都作为参数传递给查询,这样它就可以成为静态类成员而不会有任何问题。如果它不是静态成员,则必须将它保存在某个全局可访问的对象中,因为预编译查询最显著的性能成本是它的编译,每次应用程序运行只应进行一次编译。

最新更新