首页 文章

在linq查询中将字符串转换为int

提问于
浏览
0

这是查询

db.setupBrands.Where(x => 
    Convert.ToInt32(x.SortKey) <= id && 
    Convert.ToInt32(x.SortKey) >= desID)
.Select(x => x);

这里SortKey是我想转换为int的字符串类型 . 在Convert.ToInt32()上我收到以下错误 .

LINQ to Entities无法识别方法'Int32 ToInt32(System.String)'方法,并且此方法无法转换为存储表达式 .

1 回答

  • 2

    EF无法翻译Convert和Parse . 我完全赞同上述内容,但是,如果你的SortKey是 nchar(4) ,你可以试试这个:

    string s_id = string.Format("{0:0000}", id);
    string s_desID = string.Format("{0:0000}", desID );
    
    db.setupBrands.Where(x => 
        x.SortKey <= s_id && 
        x.SortKey >= s_desID)
    .Select(x => x);
    

相关问题