0

我有以下内容:

        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?

4

2 回答 2

3

利用int.Parse(m.Status)

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

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

于 2012-05-17T17:12:18.200 回答
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);
于 2012-05-17T17:12:22.477 回答