0
我正在学习用ado.net asp.net mvc的,我有这个方法在我的仓库类SQL Server查询只返回一个结果
public IEnumerable<int?> GetAllUniqueYears()
{
using (IDbConnection dbConnection = dbConnectionFactory.CreateConnection())
{
using (IDbCommand cmd = dbConnection.CreateCommand())
{
cmd.CommandText = "SELECT DISTINCT YEAR(DateAdded) As Year FROM GeoCounters";
cmd.CommandTimeout = 1000;
using (IDataReader reader = cmd.ExecuteReader())
{
if (!reader.Read())
{
yield return null;
}
else
{
yield return (int)reader["Year"];
}
}
}
}
}
当我打开我的观点是只得到一个结果,但是当我在运行SQL Server Management Studio中的查询有4个结果
控制器动作
public ActionResult Index()
{
HomeIndexViewModel model = new HomeIndexViewModel()
{
GeoCounterDefinitions = geodefrepo.GetAll()
.Select((x,y) => new SelectListItem
{
Text = x.Id + " " + x.FriendlyDesc,
Value = (y + 1).ToString()
}),
Years = geocounterrepo.GetAllUniqueYears()
.Select(x => new SelectListItem
{
Text = x.ToString(),
Value = x.ToString()
})
};
return View(model);
}
我知道它会是简单的东西,谢谢:) – Goodsoup