Я не уверен, что ваш Draft
класс выглядит, но давайте представим, что это выглядит примерно так:
public class Draft
{
public int Id { get; set; }
public int PublicationId { get; set; }
public string Name { get; set; }
}
Вы можете написать запрос следующим образом:
return View(db.Drafts.Where(d => d.Name == "foo"));
Это будет только return Черновики, которые имели имя «foo». Это само по себе, вероятно, не полезно. Вы бы, скорее всего, хотят контролировать это путем передачи данных в контроллер (строка запроса, форма стоимости, стоимости маршрута и т.д.):
public ActionResult Index(int id, string filter)
{
return View(db.Drafts.Where(d => d.Name == filter));
}
Или вы можете фильтровать по нескольким свойствам:
public ActionResult Index(int id, string filter)
{
return View(db.Drafts.Where(d => d.Name == filter && d.PublicationId == id));
}
+1: Я не понимал, что у «SingleOrDefault» были перегрузки. –