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 は 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);
于 2012-12-08T08:52:53.837 に答える