Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net NET中的对象关系映射器和存储过程用法_.net_Linq_Stored Procedures_Orm - Fatal编程技术网

.net NET中的对象关系映射器和存储过程用法

.net NET中的对象关系映射器和存储过程用法,.net,linq,stored-procedures,orm,.net,Linq,Stored Procedures,Orm,考虑到它们在大多数情况下为您生成了Create、Read、Update和Delete(CRUD)功能,这是否意味着存储过程不会经常使用?如果这些方法使用LINQ,则表示不使用存储过程,对吗 非常感谢您的澄清。大多数ORM(包括LINQ到SQL和EF)将为您提供自动CRUD或存储过程的选择 例如,虽然我很乐意让ORM处理简单的同质CRUD问题(插入简单记录等),但如果我有一个关键的搜索方法,它以非平凡的方式跨越复杂的数据,我可能会选择使用UDF(或SP),以确保我可以正确地对其进行分析、调优等 在

考虑到它们在大多数情况下为您生成了
Create
Read
Update
Delete
(CRUD)功能,这是否意味着存储过程不会经常使用?如果这些方法使用
LINQ
,则表示不使用存储过程,对吗

非常感谢您的澄清。

大多数ORM(包括LINQ到SQL和EF)将为您提供自动CRUD或存储过程的选择

例如,虽然我很乐意让ORM处理简单的同质CRUD问题(插入简单记录等),但如果我有一个关键的搜索方法,它以非平凡的方式跨越复杂的数据,我可能会选择使用UDF(或SP),以确保我可以正确地对其进行分析、调优等

在某些情况下,存在阻止直接CRUD的安全/审计问题,但在大多数情况下涉及应用程序服务器,这是一个人为的问题:如果黑客已经破坏了你的应用程序服务器,你已经有了重大问题-如果他们知道模式,他们通常可以使用SPs造成同样多的损害

如果您使用来自不同技术上的多个应用程序的同一后端,则SP也很有用

关于SP与文本命令的许多最初的性能争论现在基本上没有意义;正确参数化的文本查询可以使用查询缓存,并且是注入安全的,等等