自动返回SQL到泛型列表

本文关键字:泛型 列表 SQL 返回 | 更新日期: 2023-09-27 18:04:42

我有一个连接到数据库并提取数据的函数。

数据返回到一个Expando对象。

我通常将expando对象转换为一个类,在动态行上使用linq语句,但是,我想知道我是否在SQL代码中有一个具有所有字段的类,系统是否有办法自动映射到我的类中的每个字段?

public List<CLIENTALL> FullTableClients()
{
  const string abstractStatement =@"SELECT * FROM CLIENT WHERE CLINO = '0000001'";
  var sqlStatement = new SqlStatements(abstractStatement, _reportingBackOffice.GenerateTables);
  var data = _reportingBackOffice.ExecuteQuery(sqlStatement);
  var name = (from dynamic line in dataArray
              select new CLIENTALL()
              {
                ClientNumber = line.?????
                //normally I would write line.ClientNumber
                }).ToList();
  return name;
}

正如您在上面看到的,我需要一种方法来引用类中的字段名,并在从line?

谢谢,大卫

自动返回SQL到泛型列表

如果你有一个linq2SQL数据上下文,你可以这样写:

const string abstractStatement = @"SELECT * FROM CLIENT WHERE CLINO = '0000001'";
using (var db = new MyDataContext())
  var col = db.ExecuteQuery<CLIENTALL>(abstractStatement).ToList();

它将把SQL语句中的列映射到CLIENTALL

中的属性