有没有办法将查询自动化为C#中的类以强类型查询结果?我不想使用DataTable访问查询结果,再次手动指定列名。
答案 0 :(得分:3)
有几种选择:
EntityFramework
- 强大而重量级。 https://msdn.microsoft.com/en-us/library/aa937723(v=vs.113).aspx
Dapper
- 轻量级 - 主要是映射器https://www.codeproject.com/Articles/212274/A-Look-at-Dapper-NET
如果只需要存储过程,查询等的映射,Dapper是很好的方法,因为它基本上是为connection
对象添加扩展方法。它不能像Entity Framework那样创建数据库等,但它们都取决于需求。
答案 1 :(得分:2)
你应该看看AutoMapper。这是一种简单且用户友好的方式,可将DataTable
映射到您的规格的List<object>
。
您可以找到一篇文章来讨论它(包括示例代码)here。
如果您想自动化该过程,可以使用dynamic个对象,这些对象不需要您为您正在使用的每个DataTable
创建特定的类。
希望这个帮助!
答案 2 :(得分:1)
LINQ to DB上有一个有用的库
&#34; LINQ to DB是最快的LINQ数据库访问库,在POCO对象和数据库之间提供简单,轻便,快速且类型安全的层。&#34;
答案 3 :(得分:1)
我最喜欢的问题。使用QueryFirst。在SQL编辑器窗口中编写SQL,在键入时验证语法,然后QueryFirst将生成C#包装器以执行它,具有强类型输入和输出。还有许多其他好处:-)内置SqlServer,MySql和Postgres支持。其他很容易添加。免责声明:我写过QueryFirst。