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)”方法,并且该方法无法转换为存储表达式。

4

1 回答 1

2

EF 无法翻译转换和解析。我完全同意上述观点,但是,如果您的 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);
于 2012-12-08T08:52:53.837 回答