c#中是否有一种方法可以自动将DataRow结果映射到类的Object,而不是手动将每列映射到变量?

现在我必须写这个:
我在数据库表中有EntityName列,而EntityName是类中的String变量,我必须为每列编写此内容(drDataRow):

if (!dr.IsNull("EntityName"))
    scoring.EntityName = dr["EntityName"].ToString();


有没有一种方法可以自动化?
在spring框架中,这是BeanPropertyRowMapper()方法。

最佳答案

您应该看一下Dapper。这是.NET的简单开源对象映射器,可以为您完成此映射。

const string Query = "SELECT * FROM YourTable WHERE YourColumn = @Param1";

IEnumerable<YourClass> items;
using (var connection = new SqlConnection("connection string..."))
    items = connection.Query<YourClass>(Query, new { Param1 = 1 });


如果不使用第三方映射器,则没有内置的方法可以自动执行此操作。

关于c# - 有没有一种方法可以将DataRow映射到类的对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50623014/

10-17 00:41