Sql server 包含和内存中列表的实体框架查询
我使用的是实体框架,我有一个类似的查询:Sql server 包含和内存中列表的实体框架查询,sql-server,performance,entity-framework,linq,Sql Server,Performance,Entity Framework,Linq,我使用的是实体框架,我有一个类似的查询: entitiesContainer.Entities.Where(e => inMemoryList.Contains(e.Field)) 它可以工作,但我有性能问题。我花了一些时间对此进行分析,性能下降似乎发生在应用程序中,而不是数据库中。显然,每次执行这个查询时都会编译它,我猜这是因为转换包含的方式 您知道如何避免每次编译查询吗 谢谢。每次都会编译查询,因为它必须生成一个IN。。。内存中列表中可能已更改的语句 过去,我解决了一个类似的性能问题
entitiesContainer.Entities.Where(e => inMemoryList.Contains(e.Field))
它可以工作,但我有性能问题。我花了一些时间对此进行分析,性能下降似乎发生在应用程序中,而不是数据库中。显然,每次执行这个查询时都会编译它,我猜这是因为转换包含的方式
您知道如何避免每次编译查询吗
谢谢。每次都会编译查询,因为它必须生成一个IN。。。内存中列表中可能已更改的语句
过去,我解决了一个类似的性能问题,将值列表作为参数传递给存储过程,并让存储过程返回正确的字段列表以映射为实体结果。您遇到了什么样的性能问题?每次编译查询几乎肯定不会引起注意。你要传递的列表有多大?或的可能副本。我相信这更适合作为评论。