0
我希望能集团子LINQ查询,但LinqPad在这一行给了一个错误:和字段不能分配方法错误
ratetocharge =rtc.rate.Sum
的错误是:不能将方法组分配给匿名类型属性。
任何人都可以建议我应该在该行输入什么,给我一个利率表内的汇率?
谢谢
马克
var mtgRooms = RoomUnit
.Where(r => r.building_id==1)
.GroupBy(p => p.Type)
.Select(g => new
{
TypeName = g.Key.type_name,
TypeID = g.Key.type_id,
TypeCount = g.Count(),
rates = rates
.Select ( rtc =>
new
{
occ = rtc.occ,
ratetocharge =rtc.rate.Sum // this is the line which errors
}
)
.GroupBy(pe => pe.occ)
}
);
mtgRooms.Dump();
编辑:要添加更详细
表:
表RoomUnit
type_id (key - int)
type_name (string - eg. large room, small room, medium room)
building_id (int - denotes a number of buildings this room could be within)
价格
rate_id
type_id (foreign key to RoomUnit)
occ (type of rate - ie. Desk, FullRoom)
的想法是我想提供一个模型,如下所示:
Type of Room
Number of Types of Room available
Type of Occ/Desks available
Sum of Rate (rate to charge) for each type of desk
目前显示的内容是:
LargeRoom, Type 3049, Type Count 18 (or whatever is available)
occ FullRoom, ratetocharge 250, numOfOcc 1
occ FullRoom, ratetocharge 250, numOfOcc 1
occ FullRoom, ratetocharge 250, numOfOcc 1
occ Single Desk, ratetocharge 45, numOfOcc 1
occ Single Desk, ratetocharge 45, numOfOcc 1
SmallRoom, Type 3093, Type Count 4 (or whatever is available)
occ FullRoom, ratetocharge 150, numOfOcc 1
occ FullRoom, ratetocharge 150, numOfOcc 1
occ Single Desk, ratetocharge 45, numOfOcc 1
occ Single Desk, ratetocharge 45, numOfOcc 1
occ Single Desk, ratetocharge 45, numOfOcc 1
而我会就像在子表中将Occ的rateToCharge总和的模型一样,例如:
LargeRoom, Type 3049, Type Count 18 (or whatever is available)
occ FullRoom, ratetocharge 750, numOfOcc 3
occ Single Desk, ratetocharge 90, numOfOcc 2
SmallRoom, Type 3093, Type Count 4 (or whatever is available)
occ FullRoom, ratetocharge 300, numOfOcc 2
occ Single Desk, ratetocharge 135, numOfOcc 3
喜@AlexC的方式 - 我试过了,但得到的错误:“小数”不包含'Sum'和最佳扩展方法重载定义'System.Linq.Queryable.Sum(System.Linq.IQueryable)'有一些无效参数 实例参数:不能从'decimal?'转换到'System.Linq.IQueryable ' –
Mark
2012-08-09 11:40:20
嗨 - 我已经在我的问题中添加了一些更多的细节,以帮助显示我想要得到的结果。目前,每个子表格都是单独列出的,我想对它们进行分组,添加要付费的费率总和,以及每个表格中包含多少个课桌/房间的计数。再次感谢您,Mark – Mark 2012-08-09 12:14:18
再次感谢您 - rates.GroupBy(rt => rt.occ) - 费率字在Linq中加下划线,并建议:无效的匿名类型成员声明符。匿名类型成员必须声明为成员分配,简单名称或成员访问权限。 – Mark 2012-08-09 12:53:25