我有以下内容:
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?
答案 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);