Javascript 使用谓词表达式作为参数获取对api的请求
是否可以使用谓词表达式作为HTTPGET请求(到MVCAPI控制器)的参数 背景:我正在尝试构建一个租车网络应用程序。 使用MSsql for db、EntityFramework(代码优先)、用于(通用)CRUD函数的存储库和MVCAPI控制器 我的目标是使用谓词linq表达式通过api控制器向db发送查询。 守则: 存储库:Javascript 使用谓词表达式作为参数获取对api的请求,javascript,asp.net-mvc,linq,entity-framework,api,Javascript,Asp.net Mvc,Linq,Entity Framework,Api,是否可以使用谓词表达式作为HTTPGET请求(到MVCAPI控制器)的参数 背景:我正在尝试构建一个租车网络应用程序。 使用MSsql for db、EntityFramework(代码优先)、用于(通用)CRUD函数的存储库和MVCAPI控制器 我的目标是使用谓词linq表达式通过api控制器向db发送查询。 守则: 存储库: public IQueryable<T> Search<T>(Expression<Func<T, bool>> pre
public IQueryable<T> Search<T>(Expression<Func<T, bool>> predicate) where T : class, IDataEntity
{
return _context.Set<T>().Where(predicate);
}
(Im使用agulars$http进行ajax请求,类似于$.getJSON)
是否可以通过ajax(get)请求将谓词表达式发送给希望获取linq表达式作为参数的api控制器
如果是,怎么做?
如果没有,实现我的目标的正确/适当方式是什么 我不确定这对您是否有用,但您可以使用。通过这种方式,您可以轻松地在运行时构造查询并使用字符串进行查询 找到更多信息。这可能会有帮助:可能与
public HttpResponseMessage Get(Expression<Func<Car, bool>> predicate)
{
using (IRepository Manager = Factories.Factory.GetRepository())
{
var CarList = Manager.Search<Car>(predicate)
.Select(x => new CarDTO()
{
...
})
.ToList();
return Request.CreateResponse<List<CarDTO>>(HttpStatusCode.OK, CarList);
}
}
$http.get("/api/CarApi"+"??????",{params:{ ??????? }})
.success(function (result) {
$scope.filteredCarsList = result;
...
})
.error(function (result) {
...
});