存储过程和实体框架

时间:2012-11-23 10:22:08

标签: entity-framework stored-procedures

实体框架或存储过程/函数

  1. 哪个更好?
  2. 在哪种情况下使用存储过程或实体框架会更好?
  3. 一种技术的性能是否优于另一种?
  4. 我已经使用这两种方法来检索和操作数据,并没有真正的偏好。我认为存储过程/功能使我们能够更清楚地分离关注点。但是使用C#开发查询和操作数据的功能似乎更容易。

1 个答案:

答案 0 :(得分:1)

  1. 哪个更好?

    • 如果存储过程返回大数据结果和/或您的连接速度慢> EF
    • 如果你真的喜欢SQL,并且已经阅读了一些关于CURSORS的使用,并且保持喜欢它> SP
  2. 在哪些情况下使用存储过程或实体框架会更好?

    • 如果您需要在很短的时间内完成复杂的代码> EF
    • 如果您需要在数据库上处理biiiig数据,查看记录,进行批量更新,使用触发器> SP
  3. 一种技术的性能是否优于另一种?

    • 您在EF中获得1000条记录,内存中将有1000个对象,但是,您如何处理代码是这里的主要关注点。我使用SP做了一些大数据更新,它真的非常快,因为它在ON数据库,没有涉及TCP,没有套接字,没有流量..只是读取/更新。但是,你将失去那么多时间来编写好的SQL代码......
  4. 另一件需要思考的事情。如果你使用EF,你必须优先使用部分类或扩展来在一个地方拥有所有的逻辑。你将不会在你的数据库上拥有如此多的逻辑。