我将linq转换为MVC lambda表达式存在问题
我有一个模型列表
List<ViewModel> model = new List<ViewModel>();
这是我的Linq查询:
var myQuery = Model.GroupBy(u => u.MyId)
.Select(grp => new
{
MyId= grp.Key,
Liste = grp.ToList()
})
.ToList();
我想将此查询转换为lambda表达式。因为将ViewBag或TempData传递给没有模型列表的视图并不容易。
model = BusinessLogic.GetAll().GroupBy(k => k.MyId).Select(k => new { MyId=k.Key, Liste=k.ToList()}).ToList();
model = BusinessLogic.GetAll()就像
我得到“无法分配给类型变量”(匿名)错误。
答案 0 :(得分:1)
您正在创建匿名类型列表,而不是ViewModel
列表:
model = BusinessLogic.GetAll()
.GroupBy(k => k.MyId)
.Select(k => new ViewModel { MyId=k.Key, Liste=k.ToList()})
.ToList();