Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自动将SQL返回到通用列表_C#_Sql_Linq - Fatal编程技术网

C# 自动将SQL返回到通用列表

C# 自动将SQL返回到通用列表,c#,sql,linq,C#,Sql,Linq,我有一个连接到数据库并提取数据的函数 数据返回到Expando对象中 然后,我通常将expando对象转换成一个类,linq语句位于一个动态行上。然而,我想知道,如果我有一个包含SQL代码中所有字段的类,系统是否有任何方法自动映射到类中的每个字段 即 公共列表FullTableClient() { const string abstractStatement=@“SELECT*FROM CLIENT,其中CLINO='0000001'; var sqlStatement=新的SqlStateme

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

数据返回到Expando对象中

然后,我通常将expando对象转换成一个类,linq语句位于一个动态行上。然而,我想知道,如果我有一个包含SQL代码中所有字段的类,系统是否有任何方法自动映射到类中的每个字段

公共列表FullTableClient()
{
const string abstractStatement=@“SELECT*FROM CLIENT,其中CLINO='0000001';
var sqlStatement=新的SqlStatements(abstractStatement,_reportingBackOffice.GenerateTables);
var data=_reportingBackOffice.ExecuteQuery(sqlStatement);
变量名称=(来自dataArray中的动态行
选择new CLIENTALL()
{
客户号=行。?????
//通常我会写line.ClientNumber
}).ToList();
返回名称;
}
正如您在上面看到的,我需要一种方法来几乎引用类中的字段名,并在我从第行赋值时将其用作变量

谢谢


David

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

const string abstractStatement = @"SELECT * FROM CLIENT WHERE CLINO = '0000001'";
using (var db = new MyDataContext())
  var col = db.ExecuteQuery<CLIENTALL>(abstractStatement).ToList();
conststringabstractstatement=@“SELECT*fromclient,其中CLINO='0000001';
使用(var db=new MyDataContext())
var col=db.ExecuteQuery(abstractStatement.ToList();

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

我不确定Expando对象,但通常我们使用AutoMapper进行映射,这就是您要寻找的内容吗?从
中,您的问题应该有合理的范围。如果你能想象一整本书都能回答你的问题,那你问得太多了-有很多关于ORM的书。同意Jamiec的观点,在询问SO之前,你应该做一些研究。有很多技术可以将表映射到类,反之亦然。例如,您可以使用google实体框架。
const string abstractStatement = @"SELECT * FROM CLIENT WHERE CLINO = '0000001'";
using (var db = new MyDataContext())
  var col = db.ExecuteQuery<CLIENTALL>(abstractStatement).ToList();