【问题标题】:IEnumerable, List, or ??? for returning ADO.NET collections?IEnumerable、List 或 ???用于返回 ADO.NET 集合?
【发布时间】:2014-03-24 00:05:39
【问题描述】:

如果我们使用 ADO.NET 进行数据访问,我们应该如何返回一个对象的集合?我读到 DataTables 不是最好的方法(也因为它们没有类型)。在过去,我知道您可以使用 XSD 键入它们,但我认为这仍然不是对象的正确集合。

我们将拥有我们的类(例如 Employee)和属性等,因此单个对象将作为例如 Employee 对象返回。但是集合应该是 IEnumerable 吗?如果是这样,我们是否要遍历类中的 DataTable 并一次添加到列表中?这似乎很麻烦(我认为那时还需要一个列表)。

感谢您的指导。

【问题讨论】:

  • 你考虑过使用 ORM 吗?

标签: c# datatable ado.net ienumerable


【解决方案1】:

如果是这样,我们是否要遍历类中的 DataTable 并一次添加到列表中?

不,完全忘记 DataTable。您不填充 DataTable - 您直接进入列表;通过 ORM(EF、NHibernate 等)或通过“dapper”之类的工具:

string region = ...
var customers = conn.Query<Customer>(
    "select * from Customer where Region=@region",
    new { region }).ToList();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 2015-01-10
    • 1970-01-01
    相关资源
    最近更新 更多