需要Linq查询帮助

时间:2010-06-30 11:59:11

标签: linq linq-to-sql

我有以下简单的Linq查询:

(from container in Container
join containerType in ContainerType on container.ContainerType equals containerType
where containerType.ContainerTypeID == 2
select container).Max (row => row.SerialNumber)

原样,这个查询工作正常。问题是DB中的SerialNumber是nvarchar类型。当ContainerTypeID = 2时,此列中的值将始终为整数,但不是零填充。因此,在不将所有序列号转换为整数的情况下执行Max将不起作用(例如,Max将在'10'上选择'2')。所以,我的问题是,如何将row.SerialNumber的所有值转换为整数,以便Max可以找到最大的序列号?

1 个答案:

答案 0 :(得分:0)

我试图以这种方式进行投射并且有效。

(from container in Container
join containerType in ContainerType on container.ContainerType equals containerType
where containerType.ContainerTypeID == 2
select container).Max (row => Convert.ToInt32(row.SerialNumber))

但如果row.SerialNumber中的值大于int或无效值导致异常。