十年河东,十年河西,莫欺少年穷。
EF就如同那个少年,ADO.NET则是一位壮年。毕竟ADO.NET出生在EF之前,而EF所走的路属于模仿ADO.NET。
也就是说:你所写的LINQ查询,最后还是要转化为ADO.NET的SQL语句,转化过程中无形降低了EF的执行效率。
但是,使用EF的一个好处就是系统便于维护,减少了系统开发时间,降低了生成成本。
OK,上述只是昨个简单的对比,那么在实际编码过程中,我们应当怎样提升EF的性能呢?
1、EF使用SqlQuery
上述已经说的很明白了,EF效率低于ADO.NET是因为LINQ-TO-SQL的过程消耗了时间。而使用SqlQuery则可以直接写SQL语句。
当然,如果你想得到更快的执行速度,你也可以在数据库上写存储过程PROC
关于SqlQuery的用法,在此不作解释。
2、EF使用AsNoTracking()?NoTracking()
未完待续...
时间: 2024-12-18 11:45:22