日期:2014-05-17  浏览次数:21133 次

请教一个c#Lambda表达式参数类型的问题
本帖最后由 ajdopteronmomo 于 2013-08-23 11:45:27 编辑
数据库里有个字段state是nvarchar(2)类型的,存的是01,02类似的这种两位状态值,现在我要查询的时候要查出这个状态值大于30的数据,我是这样写的:
(p=>conver.toint32(p.state)>30)
这样写是会报错的,原因我百度了一下好像是因为类型必须是确定的,请教一下大家有什么解决方法没有。

------解决方案--------------------
类型转换int.Parse(p.state)>
------解决方案--------------------
不知道全部代码,
var query=dbdata.Where(p=>Convert.ToInt32(p.state)>30);
------解决方案--------------------
var query=dbdata.AsEnumerable().Where(p=>Convert.ToInt32(p.state)>30); 
试一试,要导入System.Data.DataSetExtensions.dll程序集哦!