1

リポジトリでこのようなことを行う場合:

IQueryable<CarClass> GetCars(string condition, params object[] values) {
    return db.Cars.Where(condition, values);
}

そして、リポジトリの外部で条件と値を設定します。

string condition = "CarMake == @Make";
object[] values = new string[] { Make = "Ford" };

var result = myRepo.GetCars( condition, values);

動的クエリを使用して、リポジトリの外部で結果をどのように並べ替えることができますか?

return View( "myView", result.OrderBy("Price"));

どういうわけか、データがリポジトリから出るときにDynamicQueryの性質を失っています。はい、通常はSelect new Carclass {fieldName = m.fieldName、...}を実行するCarClassタイプを返す方法を理解していません。

4

1 に答える 1

1

動的クエリには以下が必要です。

  • ソースはIQueryable<T>(それがIEnumerable<T>類似している場合は、それを呼び出すだけです.AsQueryable()
  • 動的クエリを実行するコードで参照される追加のdll
  • usingローカルソースファイルの先頭に配置する適切なディレクティブ

.Where(condition)これらの3つを確認すると、、.OrderBy(name)などを追加できるはずです。

于 2010-03-23T06:27:05.943 に答える