Tra*_*s J 4 ado.net entity-framework asp.net-mvc-3
在ASP.NET MVC3项目中,使用Entity Framework(使用存储库模式)或使用ADO.NET SqlConnection和更快,更安全SqlCommand吗?
很一般的问题,但有些想法.
性能:
只要所有开发人员都有线索,简单的SqlCommand和DataReader在性能方面会明显加快.使用.net 4.5和EF 5,似乎EF将获得良好的性能提升,但普通的SQL总是会更快.
请看这里的一些数字:http://blogs.msdn.com/b/adonet/archive/2012/02/14/sneak-preview-entity-framework-5-0-performance-improvements.aspx
普通的ADO.NET也支持异步模式,这在某些情况下可能非常重要.EF没有.至少不适用于EF 4.
安全
只要您使用参数化查询,普通SQL可能与EF一样安全.EF将自动执行此操作以保护您免受SQL注入.因为EF总是给你这个,我认为它更安全,但略有差距.
可测性
我发现这对EF来说是一个很大的胜利.我没有愚弄模拟,而是使用SqlCe4对我的控制器进行快速集成测试.只要你使用EF,这很容易做到.
摘要
我发现EF非常强大,并且API使用起来很愉快.如果你正在做性能密集的事情,你将不得不放入原始的SqlDataReader和SqlBulkCopy,但混合它们不是问题.我喜欢使用EF,我可以忍受性能损失,因为我的工作效率更高.在哪里我觉得命中率很大我会使用普通的Sql.
| 归档时间: |
|
| 查看次数: |
11035 次 |
| 最近记录: |