将数据集转换为 CLR 类型的最佳方法是什么
what's the best way to translate a data set to a CLR type
处理遗留应用程序,其中数据访问存储库始终 returns 一个数据集。在这一点上,更改为任何 ORM 框架对我来说不是一个选项,正在寻找将结果集映射到 CLR 类型的最佳选项
我知道有 2 种简单的方法可以做到这一点。
1 - 使用 Dapper.NET
const string query = "SELECT * FROM Users";
return connection.Query<User>(query);
使用 Dapper,您甚至不必担心获取 DataTable,只需查询 SqlConnection 并取回您的类型。
2 - 使用 Automapper:
List<User> users = AutoMapper.Mapper.DynamicMap<IDataReader, List<User>>(
sourceDataTable.CreateDataReader());
Automapper 可以将您的 DataTable 映射到您的类型。
这两种方法都要求您的 class 名称 属性 与源数据中的列名称相匹配。
我认为它们都可以作为 NuGet 包使用
处理遗留应用程序,其中数据访问存储库始终 returns 一个数据集。在这一点上,更改为任何 ORM 框架对我来说不是一个选项,正在寻找将结果集映射到 CLR 类型的最佳选项
我知道有 2 种简单的方法可以做到这一点。
1 - 使用 Dapper.NET
const string query = "SELECT * FROM Users";
return connection.Query<User>(query);
使用 Dapper,您甚至不必担心获取 DataTable,只需查询 SqlConnection 并取回您的类型。
2 - 使用 Automapper:
List<User> users = AutoMapper.Mapper.DynamicMap<IDataReader, List<User>>(
sourceDataTable.CreateDataReader());
Automapper 可以将您的 DataTable 映射到您的类型。
这两种方法都要求您的 class 名称 属性 与源数据中的列名称相匹配。
我认为它们都可以作为 NuGet 包使用