-1

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

数据返回到 Expando 对象。

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

IE

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;
}

正如您在上面看到的,我需要一种方法来几乎引用类中的字段名称,并在我从行分配时将其用作变量?

谢谢,

大卫

4

1 回答 1

0

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

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

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

于 2013-03-18T15:22:27.103 回答