私は MVC4 と Entity Framework 5 でアプリを開発していますが、最近、クエリを実行するときにこの例外に遭遇しました。
{"LINQ to Entities はメソッド 'System.String PadLeft(Int32, Char)' メソッドを認識せず、このメソッドはストア式に変換できません。"}
過去に同様のエラーに遭遇したとき、クエリの外側で変数を作成し、その変数を LINQ ステートメントで使用しました。残念ながら、この場合は行の結果を操作しているため、どうすればよいのか、それが最善の方法なのかわかりません。どんな助けでも大歓迎です。私のクエリは以下の通りです:
IQueryable<System.String> LEAPrograms = db.Datamart_Draft
.Where(where => where.snapshot_id == snapshot_id
&& !String.IsNullOrEmpty(where.entity_program))
.Select(sel => (sel.entity_program.PadLeft(PROGRAMLENGTH, '0'))).Distinct();