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);

您将如何使用 Dynamic Query 对存储库之外的结果进行排序?

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

当数据从存储库中退出时,我不知何故失去了 DynamicQuery 的性质。是的,我还没有弄清楚如何返回 CarClass 类型,您通常会在其中执行 Select new Carclass { fieldName = m.fieldName, ... }

4

1 回答 1

1

动态查询需要:

  • 来源是IQueryable<T>(所以如果是IEnumerable<T>或类似的,只需调用.AsQueryable()它)
  • 要在要执行动态查询的代码中引用的额外 dll
  • 适当的using指令位于本地源文件的顶部

检查这三个,你应该可以添加.Where(condition).OrderBy(name)

于 2010-03-23T06:27:05.943 回答