在我的ASP MVC应用程序中,我使用标准sql(而不是
Linq to sql或其他ORM)来查询我的数据库.
我想将数据库结果传递给我的观点,并在我的观点中迭代结果.但我不知道该怎么做我看过的每个例子都会传递一些字符串或使用L2S.我想传递像嵌套的Hashtables这样的东西,但我唯一可以想到的是将sqlDataReader对象传递给视图,但是这听起来真是个坏主意.
我如何从标准SQL查询显示我的数据库结果到我的视图?我真的很喜欢使用Linq或其他ORM,但要求我们不要(不要问我为什么,我不明白).我在VB中这样做.我会尽力转换任何提供的C#示例.
解决方法
您可以为要传输的数据创建简单的类,然后手动从数据读取器中填充控制器中的对象列表,然后将其传递给您的视图. (C#但这应该很容易转换)
// open your connection / datareader etc. List<Customer> customers = new List<Customer>(); while(dataReader.Read()) { Customer c = new Customer(); c.Id = dataReader.GetInt32(0); c.Name = dataReader.GetString(1); // etc (you might want to use string indexers instead of ints for the get methods) customers.Add(c); } // close and dispose your datareader / connection etc as usual return View("List",customers);