我想调用一个只返回一条记录并保存到View Model的存储过程。
例如 模型
public class VMNews {
public List<News> TodayNews { get; set; }
public NewsCategory NewsCat { get; set; }
}
查看模型
public ActionResult Index() {
VMNews objnews = new VMNews();
//This works fine as it contains List
objnews.TodayNews = db.Database.SqlQuery<News>("usp_News").ToList();
//This gives a error stating Cannot implicitly convert type.....
objnews.NewsCat = db.Database.SqlQuery<NewsCategory> ("usp_NewsCategory");
return View(objnews);
}
行动方法
Sub Clear
答案 0 :(得分:2)
您需要调用FirstOrDefault()
方法才能只记录一条记录。
目前,您的存储过程会返回collection
NewsCategory
,并且您正在尝试将collection
分配给single object
,这将为您提供error
objnews.NewsCat = db.Database.SqlQuery<NewsCategory>("usp_NewsCategory").FirstOrDefault();