Asp.net web api webapi参数过滤

Asp.net web api webapi参数过滤,asp.net-web-api,Asp.net Web Api,这必须是简单的,我是难以置信的密集,但我找不到一个例子来帮助我解决它。我想根据通过参数传入的assessmentId筛选我的t类项目列表。我可以得到参数值,但我不确定如何编写查询 我的模型是使用模型创建向导从现有数据库生成的 谢谢你的帮助 public IEnumerable<tblAsset> GettblAssets() { NameValueCollection nvc = HttpUtility.ParseQueryString(Request.RequestUri.Qu

这必须是简单的,我是难以置信的密集,但我找不到一个例子来帮助我解决它。我想根据通过参数传入的
assessmentId
筛选我的
t类
项目列表。我可以得到参数值,但我不确定如何编写查询

我的模型是使用模型创建向导从现有数据库生成的

谢谢你的帮助

public IEnumerable<tblAsset> GettblAssets()
{
  NameValueCollection nvc = HttpUtility.ParseQueryString(Request.RequestUri.Query);
  var assessmentId = nvc["aid"];

  //limit the assets by assessmentId somehow and return
}
public IEnumerable gettSet()
{
NameValueCollection nvc=HttpUtility.ParseQueryString(Request.RequestUri.Query);
var assessmentId=nvc[“辅助”];
//通过评估ID限制资产并返回
}

您可以在数据库返回的
IQueryable
实例上使用
.Where
扩展方法:

public IEnumerable<tblAsset> GettblAssets()
{
    NameValueCollection nvc = HttpUtility.ParseQueryString(Request.RequestUri.Query);
    var assessmentId = nvc["aid"];

    // TODO: you might need to adjust the property names of your model accordingly
    // Also if the assessmentId property is an integer on your model type
    // you will need to parse the value you read from the request to an integer
    // using the int.Parse method
    return db.tblAsset.Where(a => a.assessmentId == assessmentId);
}
public IEnumerable gettSet()
{
NameValueCollection nvc=HttpUtility.ParseQueryString(Request.RequestUri.Query);
var assessmentId=nvc[“辅助”];
//TODO:您可能需要相应地调整模型的属性名称
//此外,如果assessmentId属性是模型类型上的整数
//您需要将从请求读取的值解析为整数
//使用int.Parse方法
返回db.tblAsset.Where(a=>a.assessmentId==assessmentId);
}

谢谢!成功了!是的,它很简单,而且我很密集。这不是你问题的一部分,但你也可以像这样访问查询字符串参数(省去了你必须使用HttpUtility和手动解析等)。。。IEnumerable GettblAssets([FromUri]int?assessmentId=null)