私はMVC4とEntity Framework 5のアプリケーションで作業していますが、最近私のクエリを実行するときにこの例外が発生しました。EF5.xのPadLeftのサポートが不足しているための回避策はありますか?
は{ "方法 '可能System.String PadLeft(のInt32、シャア)' 方法、及びこの方法を認識しないエンティティにLINQは、格納式に変換することができない。"}
いつ過去に同様のエラーが発生した場合は、クエリの外部に変数を作成してから、変数を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();
'entity_program'を適切な数の0で埋めるテーブルで追加の計算カラムを作ることができますか? – cfeduke
それは可能ですが、私は再利用可能なものを好むでしょう。私はそれを避けることができるならば、私はパッドする必要がある各列のための追加の列を作成したくないです。 – Elsimer