Это должно быть просто, и я невероятно тупой, но я не могу найти примера, который помог бы мне это понять. Я хочу отфильтровать свой список элементов tblAsset
по их assessmentId
, который передается через параметр. Я могу получить значение параметра нормально, но не знаю, как написать запрос.
Моя модель построена из существующей базы данных с помощью мастера создания модели.
Спасибо за любую помощь!
public IEnumerable<tblAsset> GettblAssets()
{
NameValueCollection nvc = HttpUtility.ParseQueryString(Request.RequestUri.Query);
var assessmentId = nvc["aid"];
//limit the assets by assessmentId somehow and return
}
1
Majkeli
12 Дек 2012 в 20:53
Это не часть вашего вопроса, но вы также можете получить доступ к таким параметрам строки запроса (избавляет вас от необходимости использовать HttpUtility и ручной синтаксический анализ и т.д.) ... IEnumerable GettblAssets ([FromUri] int? AssessmentId = null)
– Mark Jones
13 Дек 2012 в 12:47
1 ответ
Лучший ответ
Вы можете использовать метод расширения .Where
для экземпляра IQueryable<tblAsset>
, возвращаемого вашей базой данных:
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);
}
0
Darin Dimitrov
12 Дек 2012 в 21:18
Спасибо! Это сработало! И да, это было просто, и я был тупым.
– Majkeli
12 Дек 2012 в 22:15
Похожие вопросы
Новые вопросы
asp.net-web-api
ASP.NET Web API - это платформа для создания HTTP-сервисов для клиентов, таких как браузеры и мобильные устройства. Он основан на Microsoft .NET Framework и является идеальным выбором для создания сервисов RESTful.