当前位置 : 主页 > 网络安全 > 测试自动化 >

entity-framework – 实体框架清单以提高性能

来源:互联网 收集:自由互联 发布时间:2021-06-22
我正在使用Entity Framework 4开发一个项目.拥有大约50个实体,大多数所有表都与用户表有关系.搜索用户有更多时间返回结果.在用户表中,我已经删除了导航属性,即使它花费更多时间. 主要是
我正在使用Entity Framework 4开发一个项目.拥有大约50个实体,大多数所有表都与用户表有关系.搜索用户有更多时间返回结果.在用户表中,我已经删除了导航属性,即使它花费更多时间.
主要是在网络上,为任何特定的场景/问题提供了性能指南.是否有可用于提高实体框架工作性能的通用检查表?

像动态搜索用户如下

var searchPredication = (from user in entities.Users
 where ((searchKeyword == "") || (searchField != "" && searchKeyword != "" &&
 searchField == "BarCode" && user.BarCode == searchKeyword)||
(searchField == "LastName" && user.LastName == searchKeyword)  ||
(searchField == "FirstName" && user.FirstName == searchKeyword))) && !user.IsDeleted 
select user).FirstOrDefault();

此外,我还需要提供有关EF中常见性能管理的更多信息.

没有任何“清单”,但这里有一些提示,以确保您的网站运行良好:

>始终在dev数据库中保留大量数据,如果注入数百万个虚拟行,则在开发过程中会夸大性能问题.
>使用性能测试,如果我们有一个高容量的站点,我们每页至少设置一次测试,以便检查加载时间.这允许您选择外围页面.
>避免使用非常复杂的LINQ语句,它们通常(但并非总是)是错误的,大多数情况下您可以简单地实现.
>只要您拥有正确的数据,就立即枚举您的设置.这可以避免在显示代码中意外地使查询复杂化. (即使用ToList或ToArray)
>在复杂查询上使用EFProfiler或SQLProfiler来验证SQL看起来是否合理.

希望这有所帮助,整体表现更像是一门艺术,而不是一门科学.它有点滑动.

网友评论