2
我有一个实体框架查询是谁将结果组合在一起,我想将其传递给查看,但我无法将其转换为正确的观看模型! (我要显示的结果视图中的网格)将EF DBquery强制转换为Viewmodel - 无法强制转换类型为'System.Data.Entity.Infrastructure.DbQuery的对象
如果我用这个投
viewModel.Groupeds = (IEnumerable<Grouped>) result;
我得到这些错误 无法转换类型System.Data.Entity.Infrastructure的”对象。 DbQuery 1[<>f__AnonymousType4
2 [System.Nullable`1 [System.Int32],System.Int32]]'改为类型
我该如何施放它?
public ActionResult Show(int? id)
{
IEnumerable<dynamic> result = db.StatData
.GroupBy(k => new { k.QuestId, k.OptionId })
.Select(c => new
{
OptionId = c.Select(q => q.OptionId).FirstOrDefault(),
Counted = c.Select(q => q.id).Count(),
});
var viewModel = new StatsView();
viewModel.Groupeds = (IEnumerable<Grouped>) result;
return View(viewModel);
}
public class StatsView
{
public IEnumerable<Grouped> Groupeds { get; set; }
}
public partial class Grouped
{
public Nullable<int> Counted { get; set; }
public Nullable<int> OptionId { get; set; }
}
我不能编译它,如果我改变,得到错误 不能隐式转换类型'System.Collections.Generic.List <<匿名类型:int? Optionid,int Counted >>' to'System.Collections.Generic.IEnumerable'。存在明确的转换(你是否缺少一个转换?) –
user4144972
你改变了吗?。选择(c =>新分组// << - 这里是你的代码的这部分? –
它的工作原理..很抱歉,我错过了它! – user4144972