如何加载查询结果的IList的<T>

我有一个IList<T>如何加载查询结果的IList的<T>

IList<Student> studsList = new IList<Student>(); 

如何加载该查询nameage属性来我studsList

using(OracleCommand command = new OracleCommand(querySQL, connection)) 

{

connection.Open();

string query = "SELECT name, age FROM Student";

using(OracleCommand command = new OracleCommand(querySQL, connection)) {

using(OracleDataAdapter oracleDataAdapter = new OracleDataAdapter()) {

oracleDataAdapter.SelectCommand = command;

command.ExecuteNonQuery();

//What to do here?

}

}

回答:

如果你command.ExecuteNonQuery();,你是在说“我不期待结果”。如果您想查看结果,则需要使用ExecuteReader,它将返回一个IDataReader API,允许您使用.Read()向前循环行。然后,每行可以访问一系列访问列的API,包括通过索引器([])或GetValueGetValues或键入的访问方法(GetStringGetInt32等)。

或者更简单 - 使用像dapper这样的工具!

var students = connection.Query<Student>(query); 

这个处理与:

  • 连接寿命(开口等)
  • 创建命令
  • 参数(在该示例中没有示出,但很容易)
  • 执行指令
  • 处理读取器
  • 解析每一行的内容到TStudent在这种情况下)
  • 正确

收盘都记录下来对于参数例如:

var region = "North"; 

var students = connection.Query<Student>(

"select * from Students where [email protected]", new { region });

(您可能需要使用$region:region取决于您的ADO.NET提供商)

以上是 如何加载查询结果的IList的&lt;T&gt; 的全部内容, 来源链接: utcz.com/qa/259127.html

回到顶部