我们正在使用Entity Framework中的视图。当我在SQL Server中执行程序视图时,它在2秒内快速呈现。我已经创建了简单的linq查询/ lambda表达式来获取输出或应用程序但是它需要2分钟以上才能得到最终结果。我不确定在后端(SQL Server)中如何快速运行相同的视图,当我通过Entity Framework使用它时会产生问题。
C#
this.db.progamview.Where(x =>
x.pId== 6&&
x.qId== 12
&& x.RId== 20151
&& x.cId== 102)
我试图设置超时但仍然无效。当我们处理大型数据集或如何处理EF中检索大型数据集的视图时,我们可以在哪些方面提高实体框架的性能?
尝试了如下所示的AsNotracking
方法,但没有运气。
this.db.progamview.Where(x => x.pId== 6 && x.qId== 12 && x.RId== 20151 && x.cId==
102).AsNoTracking();
Version: EF6.1
它返回18列。我需要在前端显示所有列。
尝试了以下方法,但仍然得到输出太晚了。即需要4-5分钟才能得出结果。
答案 0 :(得分:0)
使用AsNoTracking()
,如下所示。
this.db.progamview.Where(x => x.pId== 6 && x.qId== 12 && x.RId== 20151 && x.cId==
102).AsNoTracking();
答案 1 :(得分:0)
您可以在数据库中添加索引。 如果您首先使用代码,则可以添加[Index]属性。