实体框架缓慢,带有可选的where子句

时间:2013-09-14 07:25:21

标签: performance entity-framework

下面是我对Entity Framework v4的问题的简化版本的嗤之以鼻,其中第一次加载似乎需要在36行的桌子上大约30秒!

之后加载非常快,直到您更改搜索参数,然后再次需要30秒,但一旦快速完成搜索参数的组合,就会完成。

每次使用不同的参数组合时,都会重复这一过程。

IQueryable<User> result= GetAllUsers();

if (!String.IsNullOrWhiteSpace(firstNameSearchParam))
{
    result = result.Where(u => u.firstname.contains(firstNameSearchParam))
}    

if (!String.IsNullOrWhiteSpace(lastNameSearchParam))
{
    result = result.Where(u => u.lastname.contains(lastNameSearchParam))
}

Var ret = result.ToArray();

任何想法都会非常感激。

我不确定pre-compiling the views是否会有所帮助。我试过但是无法让它发挥作用。

1 个答案:

答案 0 :(得分:0)

从sql端执行查询需要多长时间?

您可以在此链接Dynamic Linq

上使用scott提到的这个想法

我认为这也适用于Entity Framework,还有另一个想法是你可以使用实体框架元数据

希望这会对你有所帮助

问候

相关问题