2010-12-16 8 views
0

私はループとして、メソッドとしてリファクタリングしたいコードをいくつか持っています。ラインの一つは、以下のこのメソッドに正しいパラメータを渡す方法.net EF4、テーブル名、where句

var foo = db.tblA.Where(r => r.bar == old.Value).SingleOrDefault(); 

私は、このメソッドを呼び出したときしかし、私は(... TBLA、TBLB、tblC)別のテーブルに合格する必要があり、WHERE句を比較するために別のフィールドを持つことになりますです

これらの2つの情報を渡す方法のシグネチャはどのようなものでしょうか?いいえ、ありがとうございます。このよう

+0

プロパティはどのような種類ですか? – SLaks

+0

r.barは文字列になります – Wavel

答えて

0

TRow MyMethod<TRow>(IQueryable<TRow> table, Expression<Func<TRow, object>> column) 

はあなたの状況に応じて、stringまたは第二の一般的なパラメータでobjectを交換したい場合があります。

+0

初心者のように思えませんが、tblAとwhere句を使用したい場合、MyMethodをどのように呼び出すかを教えてください:r.bar == old.Value? – Wavel

+0

@Wavel: 'MyMethod(tblA、r => r.bar)' 'tblA'は' IQueryable 'を実装しているので、一般的なパラメータ型が推定されます。 – SLaks

+0

ご協力ありがとうございます。私は近いですが、それを動作させるには十分に近いわけではありません:(私の数行のコードに対して汎用的なメソッドを作ろうとすると少しの問題もあります。 – Wavel

関連する問題