我有一个连接数据库并提取数据的函数。
将数据返回到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;
}
正如您在上面所看到的,我需要一种方法来几乎引用类中的字段名称,并在从行分配时将其用作变量?
谢谢,
大卫
答案 0 :(得分:0)
如果你有一个linq2SQL datacontext,你可以写:
const string abstractStatement = @"SELECT * FROM CLIENT WHERE CLINO = '0000001'";
using (var db = new MyDataContext())
var col = db.ExecuteQuery<CLIENTALL>(abstractStatement).ToList();
它会将SQL语句的列映射到CLIENTALL