如何检查字符串的整数值是否小于LINQ中的值?

时间:2012-05-17 17:11:02

标签: c# linq

我有以下内容:

        var topRole = 25;

        var menuItems = _contentRepository.GetPk()
            .Where(m => m.Status <= topRole)
            .OrderBy(m => m.Order)
            .Select(m => new MenuItem

状态的值为“00”,“05”或“10”

有没有什么方法可以将m.Status转换为整数,然后进行比较以查看它是否小于或等于topRole?

2 个答案:

答案 0 :(得分:3)

使用int.Parse(m.Status)

var menuItems = _contentRepository.GetPk()
            .Where(m => int.Parse(m.Status) <= topRole)
            .OrderBy(m => m.Order)
            .Select(m => new MenuItem)

编辑:将“解析”改为“解析”。

答案 1 :(得分:3)

var menuItems = _contentRepository.GetPk()
        .Where(m => int.Parse(m.Status) <= topRole)
        .OrderBy(m => m.Order)
        .Select(m => new MenuItem);

如果此查询适用于LINQ to SQL,则可能需要使用Convert.ToInt32代替:

var menuItems = _contentRepository.GetPk()
        .Where(m => Convert.ToInt32(m.Status) <= topRole)
        .OrderBy(m => m.Order)
        .Select(m => new MenuItem);
相关问题