我应该使用哪个Data对象

时间:2010-08-15 16:41:02

标签: c# database

我有一个只返回一行(总是)的查询,我想将此行转换为类对象(比如说obi)

我有一种感觉,使用数据表来进行这种查询是非常的 但我真的不知道使用哪个其他数据对象

数据阅读器?

有没有办法将sql命令执行到数据行?

3 个答案:

答案 0 :(得分:2)

DataReader是这里的最佳选择 - 对于单行,DataAdapters和DataSet可能过度,但是,如果性能不是很关键,那么保持简单并不是一件坏事。您无需从DataReader转发 - > DataRow - >你的对象,只需读取DataReader的值就可以了。

答案 1 :(得分:0)

使用datareader可以查询各个字段。如果您希望将行作为单个对象,我相信DataTable / DataRowView系列对象实际上是可行的方法。

答案 2 :(得分:0)

您可能会认真考虑查看Linq-to-SqlLinq-to-Entities

这些框架的吸引力在于它们提供了将数据库数据自动序列化为对象,抽象出许多连接管理的普通细节,并通过提供强类型属性提供更好的编译时支持,您可以在不使用字符串的情况下使用这些属性键或列序号。

使用Linq时,检索单行与检索多行之间的区别通常只涉及在查询中附加.Single().First()

无论如何,如果您已经使用或愿意学习其中一个框架,您可能会发现数据访问代码的大量和难度大大降低。

对于DataReader与DataSet / DataTable,分配和填充数据表需要更多周期是正确的。但是,我非常怀疑除非创建极大量的数据库调用,否则你会发现差异。

如果有用,下面是使用数据读取器和数据集进行数据访问的文档示例。