如果您在存储库中执行这样的事情:

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

当数据从存储库退出时,我以某种方式失去了动态性质。是的,我还没有弄清楚如何返回通常要进行选择的carclass类型{fieldName = m.fieldname,...}

有帮助吗?

解决方案

动态查询需要:

  • 来源是 IQueryable<T> (所以是 IEnumerable<T> 或类似,只需打电话 .AsQueryable() 在上面)
  • 代码中要引用的额外DLL,希望执行动态查询
  • 适当的 using 指令在本地源文件的顶部到位

检查这三个,您应该能够添加 .Where(condition), .OrderBy(name), , ETC

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top