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

C# 如何检查字符串的整数值是否小于LINQ中的某个值?,c#,linq,C#,Linq,我有以下资料: var topRole = 25; var menuItems = _contentRepository.GetPk() .Where(m => m.Status <= topRole) .OrderBy(m => m.Order) .Select(m => new MenuItem var-topRole=25; var menuItems=\u

我有以下资料:

        var topRole = 25;

        var menuItems = _contentRepository.GetPk()
            .Where(m => m.Status <= topRole)
            .OrderBy(m => m.Order)
            .Select(m => new MenuItem
var-topRole=25;
var menuItems=\u contentRepository.GetPk()
.其中(m=>m.状态m.订单)
.选择(m=>新建菜单项
状态的值为“00”、“05”或“10”

是否有某种方法可以将m.Status转换为整数,然后比较它是否小于或等于topRole?

使用
int.Parse(m.Status)

var menuItems=\u contentRepository.GetPk()
.Where(m=>int.Parse(m.Status)m.Order)
.选择(m=>new MenuItem)
编辑:将“解析”更改为“解析”。

使用
int.parse(m.Status)

var menuItems=\u contentRepository.GetPk()
.Where(m=>int.Parse(m.Status)m.Order)
.选择(m=>new MenuItem)

编辑:将“parse”更改为“parse”。

我收到一个错误“'int'不包含“parse”的定义”我收到一个错误“'int'不包含“parse”的定义”当我尝试此操作时,我收到一个错误“int”不包含“parse”的定义它包含
parse
的定义,大写字母p.
System.Int32.parse(m.Status)
应等同于
int.Parse(m.Status)
。请参阅。当我尝试此操作时,我得到一个错误“int”不包含“Parse”的定义,它包含
Parse
的定义,大写字母P.
System.Int32.Parse(m.Status)
应等同于
int.Parse(m.Status)
。请参阅.int.Parse()linq to Sql不支持。Conver.ToInt32()可能可以工作。@ValBakhtin很好-我相信大多数EF提供程序支持Int32.Parse-但转换为Int会工作。linq to Sql不支持Parse()。Conver.ToInt32()可能可以工作。@ValBakhtin很好-我相信大多数EF提供程序支持Int32.Parse-但转换也可以工作
var menuItems = _contentRepository.GetPk()
            .Where(m => int.Parse(m.Status) <= topRole)
            .OrderBy(m => m.Order)
            .Select(m => new MenuItem)
var menuItems = _contentRepository.GetPk()
        .Where(m => int.Parse(m.Status) <= topRole)
        .OrderBy(m => m.Order)
        .Select(m => new MenuItem);
var menuItems = _contentRepository.GetPk()
        .Where(m => Convert.ToInt32(m.Status) <= topRole)
        .OrderBy(m => m.Order)
        .Select(m => new MenuItem);