0

私は次のようないくつかの方法を持っています:

public static string ToOtherFormat (this string inp)
{
  // some code to change inp
  return inp;
}

私の選択では、次のようなコードが必要です:

var DetailMembers = db.TB_Members
                      .Where(x=> x.FName == obj.ToOtherFormat())
                      .Select( x=> new { name = (x.FName.ToOtherFormat() + " " + x.LName) , x.ActCode });

私は試してみましたが、エラーが発生しました。出来ますか?
ありがとう!
私は単純な整数への変換でこのエラーを受け取ります

LINQ to Entities はメソッド 'Int32 ToInt32(System.String)' メソッドを認識せず、このメソッドはストア式に変換できません。

このコードで

 .Where(x => x.MemberID == Convert.ToInt32(Hmemid.Hash_two_Decrypt())
4

2 に答える 2

1

データベースに対してクエリを実行しているようです。現在のクエリは SQL クエリに変換されます。SQL は関数を認識しないため、エラーが発生します。

その関数を使用せずにクエリを使用してテーブルからデータを取得し、後で結果セットの書式設定を行うことができます。

于 2012-09-14T11:55:13.787 に答える
0

次のような使用方法で見つけました.AsEnumerable()

var DetailMembers = db.TB_Members.AsEnumerable()
                      .Where(x=> x.FName == obj.ToOtherFormat())
                      .Select( x=> new { name = (x.FName.ToOtherFormat() + " " + x.LName) , x.ActCode });
于 2012-10-11T19:03:06.513 に答える