我有一个包含8个整数值的记录表:
TableChild:
Parent Name int1 int2 int3 int4 int5 int6 int7 int8
a w 1 3 2 0 1 3 4 3
a x 4 5 2 5 3 2 4 6
b y 5 3 5 3 1 1 3 4
b z 4 1 2 4 2 2 4 2
我需要找到'x'的最大值。 我也(单独)需要在父表'a'的整个表中获得最高值。
var query = from row in TableChild
where row.Name == x
select new
{
Parent = row.Parent,
Name = row.Name,
status = GetHighestValueOfRowInTableChild,
...
};
返回{(a,x,6)}
var queryParent = from row in tableParent
where row.Name == a
select new
{
Parent = row.Name,
status = GetHighestValueOfAllChildItemsInTableChild,
...
};
返回{(a,6)}
我玩过.Max()并尝试使用表达式,但没有任何运气,因为我应该使用多个连接,但无法弄清楚它们应该如何交互。
答案 0 :(得分:3)
使用int {X}属性的值创建一个数组,稍后获取数组的最大值
var queryParent = from row in tableParent
where row.Name == a
select new
{
Parent = row.Name,
status =
(new int[]{row.int1,row.int2,row.int3,row.int4,
row.int5,row.int6,row.int7,row.int8}).Max();
...
};
答案 1 :(得分:2)
除非您获取大量记录并且需要减小数据库响应的大小,否则最好只获取所有列并在客户端执行Max
。