C#从数据库中填充对象

时间:2010-11-05 11:33:42

标签: c# database dataset recordset

目前我们的DAL(数据访问层)查询数据库,我们遍历结果数据以填充一个对象(每行一个对象),其中最终结果是List。

填充对象的最有效(也是最快)的方法是什么?

哪种方法是从数据库中获取数据以及为该结果集设计的特定对象的最快方法?

这是C#

- 编辑

最快,我们指的是计算机处理速度最快,而不是开发速度 这也是一个.NET 2.0应用程序

-

3 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点,具体取决于您使用的C#版本 您可以使用以下内容:

1. DataSet(我认为上面是.net 2.0) 2. Linq2SQL(.net 3.5以上)
3. EntityFramework(上面的.net 3.5)

例如使用Linq2SQL:

var result = (from t in YourTable
              select t).ToList();

答案 1 :(得分:1)

最有效的方法是使用仅向前的SqlDataReader http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx

需要大量的“锅炉板”代码,但不是最快的写。我个人使用NHiberate,但这需要一些学习http://nhforge.org/Default.aspx

答案 2 :(得分:0)

我认为最快(最快开发)是LINQ to SQL

确实如此。创建表示每个表中的属性列表的类。访问它们时,它会自动从数据库中检索数据,并使用数据填充这些对象,然后可以将这些数据用作对象列表。这都是自动化的。在完成映射(从数据库拖动表到Linq到SQL映射)后,您只需为此编写一行代码

代码看起来很简单:

List<Something> yourList = YourAutomaticallyGeneratedDataContext.Something.ToList();

对于Firebird,当然,LINQ to SQL不起作用。请尝试实体框架。在我看来,NHibernate太过分了。

但是,由于您希望最快处理,我建议您查看此网站:http://ormbattle.net/ 选择你的武器,然后开火。我没有考虑DataReader的选项。这是一种痛苦,并可能导致错误。这也很难维持。

或者,请检查此问题Best free ORM tools to use with .NET 2.0/3.5