Entity Framework 是否足够快以进行数据检索
Is Entity Framework fast enough for data retrieval
我正在设计一组新项目,其中包括每分钟必须处理多达 50 个请求的 WCF 服务。
这将是一个使用 .NET 4.0 和 C# 的 Microsoft 堆栈。
每个请求都会验证数据,如果通过,则通过 SQL Server 2008 服务器上的存储过程检索数据。
如果可能,应在请求后 5 秒内返回响应。
请求和响应 XML 都在 3K 以下并且相当简单。
我计划设置一个负载均衡器来处理请求,但我需要知道 EF 是否足够快来实现它,或者我是否需要做其他事情。
请注意,其中 none 个尚未构建,因此我可以自由地从头开始构建一些东西。
Entity Framework 相对较快(Performance Considerations for Entity Framework 4, 5, and 6), however, if ALL you're doing is invoking stored procedures, Dapper or some other MICRO-ORM will be much faster. If you need to do more complex O/RM tasks, like LINQ queries against the database, LINQ to SQL 通常比 EF6 快,但 EF6 支持更多概念,例如 LINQ to SQL 从未打算做的代码优先。
我认为您的 O/RM 不会成为您的瓶颈,无论您采用何种方式:更有可能是存储过程(或者没有索引,如果您使用 O/RM 查询route 并且不要事先弄清楚你需要什么索引)将是你的性能瓶颈。
我正在设计一组新项目,其中包括每分钟必须处理多达 50 个请求的 WCF 服务。
这将是一个使用 .NET 4.0 和 C# 的 Microsoft 堆栈。
每个请求都会验证数据,如果通过,则通过 SQL Server 2008 服务器上的存储过程检索数据。
如果可能,应在请求后 5 秒内返回响应。
请求和响应 XML 都在 3K 以下并且相当简单。
我计划设置一个负载均衡器来处理请求,但我需要知道 EF 是否足够快来实现它,或者我是否需要做其他事情。
请注意,其中 none 个尚未构建,因此我可以自由地从头开始构建一些东西。
Entity Framework 相对较快(Performance Considerations for Entity Framework 4, 5, and 6), however, if ALL you're doing is invoking stored procedures, Dapper or some other MICRO-ORM will be much faster. If you need to do more complex O/RM tasks, like LINQ queries against the database, LINQ to SQL 通常比 EF6 快,但 EF6 支持更多概念,例如 LINQ to SQL 从未打算做的代码优先。
我认为您的 O/RM 不会成为您的瓶颈,无论您采用何种方式:更有可能是存储过程(或者没有索引,如果您使用 O/RM 查询route 并且不要事先弄清楚你需要什么索引)将是你的性能瓶颈。