2010-12-14 6 views
0

内の方法を実行し、それは私がエンティティに以下のエラーには、LINQ

LINQを取得しています、これを実行しながら、LINQのは、自分自身を実行しないであろうことを知っているすなわちLINQの中で

var lst = (from ls in testEntity.Month where ls .Month1.ToString() == hello() select ls).ToList(); 

    private string hello() 

     { 
      return "8"; 
     } 

の方法を実行することができます'System.String ToString()'メソッドを認識せず、このメソッドをストア式に変換することはできません。

+0

いくつかの定義とコードを入力してみてください – ratty

答えて

3

一般的に問題なくLINQでメソッドを呼び出すことができます。 ここで発生している問題は、LINQ to Entitiesに固有の問題です。 L2Eでは、すべてのメソッド呼び出しを適切なデータベース文に変換する必要があります。呼び出したメソッドでは、変換方法がわかりません。

あなたは式を返すために、あなたのhello()関数を書き換えることができます:

public Expression<Func<string>> hello() { 
    return() => "8"; 
} 

その方法のL2Eは文を翻訳することができます。それがうまくいくならば、実際のコードに依存します。