【发布时间】:2009-05-22 03:25:58
【问题描述】:
我正在和我一起工作的另一个程序员争论。
对于数据库返回类型,是否存在任何显着的内存使用或性能差异,或其他应避免使用 DataSets 和 DataTables 并偏爱实现 IEnumerable<T>... 或反之亦然的类型的缺点
我更喜欢返回实现IEnumerable<T> (List<T>, T[] etc) 的类型,因为它更轻量级,在访问属性时对对象进行强类型化,允许有关底层类型的更丰富的信息等。虽然它们确实需要更多时间来设置手动使用数据阅读器。
现在使用 DataTables 的唯一原因是懒惰吗?
【问题讨论】:
-
平台/语言?我猜 DataTable 是一个特定于平台的结构;但明确表示更容易回答
-
没错,平台是.Net Framework (c# or vb) 2.0+
-
我认为自 2009 年以来我没有使用过 DataTable,它们很烂
-
是否可以通过使用 ado.net 执行“从表中选择 *”来填充 T[]??
-
@Learning-Overthinker-Confused 是的,但您需要调用 SqlCommand.ExecuteReader 并使用 IDataReader 读取记录
标签: c# list datatable ienumerable