var rooms = tblRoom
.Where(r => r.hotel_id==1)
.GroupBy(p => p.tblType)
.Select(g => new
{
TypeName = g.Key.type_name,
TypeID = g.Key.type_id,
TypeCount = g.Count()
});
rooms.Dump();
在LinqPad - 这工作正常,返回: Linq查询中LinqPad工作,但不是在VS
然而,当我这个转移到Visual Studio:
var rooms = dbr.Rooms
.Where(r => r.hotel_id == 1)
.GroupBy(p => p.type_id)
.Select(g => new
{
TypeName = g.Key.type_name,
TypeID = g.Key.type_id,
TypeCount = g.Count()
});
我收到g.Key.type_name部分的消息:
**'long'不包含'type_name'的定义,也没有接受第一个参数的扩展方法'type_name'型的“长”可以找到(是否缺少using指令或程序集引用?)**
我想要的结果添加到以下视图模型:
public class RatesViewModel
{
public string TypeName { get; set; }
public long TypeID { get; set; }
public int TypeCount { get; set; }
}
我敢肯定再一次,它一定是我想念的简单东西 - 所以任何帮助将结果导入视图模型,将不胜感激。
谢谢,马克
这很有帮助,但并未解决Linq代码中的错误消息。 – cjk 2012-08-16 13:10:12
嗨达林 - 谢谢。我应该说,我试图返回数据作为API的一部分 - 我仍然使用视图模型如上,从控制器返回JSON? (它不承认视图) - 和返回房间();建议名称空间名称'房间'的类型找不到。再次感谢,马克 – Mark 2012-08-16 13:13:28
请忽略我 - 我改变了控制器的开始与视图模型相同!再次感谢大家的帮助。 – Mark 2012-08-16 13:22:21