我应该转向实体框架吗?

时间:2010-08-02 10:14:59

标签: c# entity-framework sqldatareader

我使用的是visual studio 2005,但最近我听说有一种新技术称为entity framework ..我应该继续使用它而不是使用通常的SqlDataReader !!
对我来说最重要的是性能,请注意我使用DataReader从数据库获取数据并将其作为通用列表返回..
任何建议.. thanx :)

6 个答案:

答案 0 :(得分:4)

SqlDataReaderEntity Framework是两种完全不同的访问数据的方法。使用SqlCommand,您自己编写SQL查询。使用诸如Entity Framework的O / R映射技术,关系数据库结构被映射到您访问其属性的对象,例如, Linq to Entities。请注意,O / R映射方法关于速度。

答案 1 :(得分:3)

如果你在VS 2005。我认为你不能使用Entity FrameWork。为此,您需要2008和.NET 3.5 SP1。实体框架存在一些问题。如果你要使用Entity Framework;使用Visual Studio 2010和.NET 4.0。这将是一个更好的选择。

Scott Gu

的最新更新

答案 2 :(得分:2)

如果你想切换到Linq to Entities然后是,你将需要VS2010。

或者您可以继续使用VS2005 / 2008并使用nHibernate或类似的框架 但是这些ORM工具都没有(主要)关于速度,所以它可能不适合你。

切换到ORM框架的原因是使用更多的OOP方法,即替换您的通用列表。

通过一些演示/演练来确定它是否适合您。

答案 3 :(得分:2)

我建议您写下您的要求,然后确定选项,使用对您的要求有意义的一些测试(例如易用性,速度等)评估每个选项,最后决定。通过一些智能设计和实现选择,您甚至可以在开始时以相对有限的努力在其中一些之间切换。

实体框架当然是一种选择。我建议在调查中也包括NHibernate,特别是fluent-nhibernate。祝你好运!

答案 4 :(得分:2)

如果您考虑表现,请参阅此处

http://toomanylayers.blogspot.com/2009/01/entity-framework-and-linq-to-sql.html

http://blog.codefluententities.com/2012/06/05/codefluent-entities-performance-comparison/

传统的ADO.NET(没有ORM)是最快的方式。如果效率是一个关键问题,那么最好留在“SqlDataReader”。

答案 5 :(得分:0)

自己编写查询仍然可以胜过任何自动过程。实体框架使数据层更抽象,从而提高了可移植性和可读性。