当前位置:  开发笔记 > 数据库 > 正文

LINQ-to-SQL CompiledQuery.Compile()与Update,Delete,Insert?

如何解决《LINQ-to-SQLCompiledQuery.Compile()与Update,Delete,Insert?》经验,为你挑选了1个好方法。

所有,

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

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

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



1> AnthonyWJone..:

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

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

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

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有