【发布时间】:2023-03-30 02:59:01
【问题描述】:
我正在尝试执行 SQL 存储过程并将结果收集到 List<T> 中。我没有收到错误,但列表始终为空。存储过程产生了 100 多条记录,所以我知道它不应该为空,但我不知道为什么它为空。
这是我的代码:
List<TicketExtendedFieldModel> list = new List<TicketExtendedFieldModel>();
using (SqlCommand cmd = new SqlCommand("GetExtendedFields", con))
{
con.Open();
cmd.CommandType = CommandType.StoredProcedure;
list = cmd.ExecuteScalar() as List<TicketExtendedFieldModel>;
con.Close();
}
非常感谢任何帮助。
【问题讨论】:
-
cmd.ExecuteScalar()将始终返回单个值,而不是列表。仅当您确定变量属于该类型或处理不属于该类型的情况(在这种情况下将为null)时,才应使用as。
标签: c# sql-server sqlcommand