LINQ-to-SQL CompiledQuery.Compile()与更新,删除,插入?

前端之家收集整理的这篇文章主要介绍了LINQ-to-SQL CompiledQuery.Compile()与更新,删除,插入?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所有,

所以我已经将LINQ-to-sql中的所有选择查询转换为使用CompiledQueries来加快速度.到目前为止,对于select语句来说效果很好,但是我还没弄清楚如何预编译insert,update或delete语句.

当然,当您在LINQ-to-sql中插入,删除或更新时,必须使用对象模型.但显然它在某处生成一个查询,这对于预编译和存储在​​静态成员中会很好.

这可能吗?什么是LINQ性能,如更新,删除和插入时,它没有预编译?我可以看到它比选择快得多,因为他们在下面做的更简单,更少“动态”……

解决方法

有一个很大的不同. Linq-To-sql选择查询可以是大型复杂表达式树.这些可能需要一段时间“编译”.在这种情况下,合并到一些可以针对sql Server运行的T-sql.因此,缓存操作的结果以便可以重复使用是有意义的.

但是,其他Delete,Update和Insert是简单的操作,不需要将表达式树转换为T-sql(LINQ本身就是查询).非常不幸的是,我们已经接受过训练,可以将sql代码视为“查询”来执行这些其他操作,我们并不是要求任何信息.

这些操作仅由DataContext定义,而不是由LINQ定义,因此已经编译了执行这些函数代码.

原文链接:/mssql/83076.html

猜你在找的MsSQL相关文章