2012-11-23 85 views
0

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

  1. 哪个更好?
  2. 在哪些情况下使用存储过程或实体框架会更好?
  3. 一种技术的性能比另一种更好吗?

我已经使用这两种方法来检索和操作数据,并没有真正的偏好。我认为存储过程/函数可以让我们更清楚地分离问题。但使用C#开发查询和操作数据的功能似乎更容易。

回答

1
  1. 哪个更好?

    • 如果存储过程返回大数据结果和/或慢的连接> EF
    • 如果你真的很喜欢SQL和读了一些关于如何使用游标,并留喜欢它> SP
  2. 在哪种情况下使用存储过程或实体框架会更好?

    • 如果您需要在小的时候做复杂的代码> EF
    • 如果您需要过程biiiig对数据库中的数据,查看记录,做批量更新,使用触发器> SP
  3. 是的一种技术的性能比另一种更好?

    • 您在EF中获得1000条记录,您将在内存中拥有1000个对象,但是,您如何使用代码是此处的主要焦点。我使用SP做了一些大数据更新,它的速度真的非常快,因为它在ON数据库,不涉及TCP,没有套接字,没有流量。只是读取/更新。但是,你们失去了这么多的时间写出好的SQL代码...

另一件事去思考。如果你使用EF,你必须优先考虑把你所有的bussines逻辑集中在一个地方,使用部分类或扩展名..你不会对数据库有太多逻辑。

+0

永远不会考虑大量记录集在内存中创建的大量对象的影响!很好的回答....谢谢! – RT88