Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 优化实体框架_C#_.net_Entity Framework_Sql Server 2008 - Fatal编程技术网

C# 优化实体框架

C# 优化实体框架,c#,.net,entity-framework,sql-server-2008,C#,.net,Entity Framework,Sql Server 2008,实体框架很好,但有些查询是次优的。可以手动编写一些SQL查询,还是在MS SQL Server 2008 R2视图中执行这些选择,然后以某种方式将实体与它们关联?我检查了一些生成的SQL,它们非常难看 问题2:MS SQL Server 2008 R2是否缓存查询?我希望有强大的缓存,我如何调整它?(MySQL非常简单)。您有很多选择。您可以使用EF 4.1中的.ExecuteStoreCommand()对数据库执行SQL,也可以将存储过程映射到EF中。此外,如果有必要,您可以将视图映射为EF中

实体框架
很好,但有些查询是次优的。可以手动编写一些SQL查询,还是在MS SQL Server 2008 R2视图中执行这些选择,然后以某种方式将实体与它们关联?我检查了一些生成的SQL,它们非常难看


问题2:MS SQL Server 2008 R2是否缓存查询?我希望有强大的缓存,我如何调整它?(MySQL非常简单)。

您有很多选择。您可以使用EF 4.1中的.ExecuteStoreCommand()对数据库执行SQL,也可以将存储过程映射到EF中。此外,如果有必要,您可以将视图映射为EF中的实体


SQLServer为数据页和执行计划提供了非常复杂的缓存机制,对于开发人员来说,这几乎是自动的。我建议发布一个问题,并给出一个具体的示例,说明您希望优化的操作。

您可以从视图中进行选择,或者如果您需要更多的控制,您可以将SQL语句放入存储过程中,并从实体框架中使用它(特别适用于插入、更新和删除操作)。是的,SQL Server进行了大量缓存,并投入了大量精力将使用最多的页面保留在内存中