返回类型为数据表或列表- c#
本文关键字:列表 数据表 返回类型 | 更新日期: 2023-09-27 17:50:50
初学者问题
在我的应用程序中有一个DAL类,它具有以下函数
public static Datatable GetCustomers()
public static Datatable GetOrderDetails(int orderId)
有人建议,最好的做法是将返回类型设置为List或类。
就是
public static List<customer> GetCustomers()
{
Datatable dt = ...;
//then loop through the rows in the table and add to List<customer>
}
public static order GetOrderDetails(int orderId)
我想知道后者的优势是什么
后者显式地为您的DAL的消费者定义了合约,因此他们不必猜测数据表中的内容,它固有于Customer类的内容中。此外,它将数据访问问题隐藏在数据访问层类之后,因此消费者只需处理纯列表和对象,而不是与数据访问相关的任何内容。
当您开发API时,最好使用来自System.Collections.*
和System.Collections.Generics.*
名称空间的类或更好的接口,原因是您将数据访问特定技术抽象为基本数据结构。这些类型更容易从其他语言中使用,或者如果您需要将结果转换为另一种格式,如json或XML。使用LINQ查询也更容易。
DataTable
需要对System.Data
程序集的依赖,您可能不想添加,特别是如果您以后决定使用另一个数据库。
测试是一个简单的基本数据结构,如果你使用特定的数据库库,因为你需要模拟它或使用其他深奥的技术,这是痛苦的。