如何向控制器添加第一个或默认值:
public ActionResult Index(string searchString)
{
var customers = from s in db.TicketDetails
select s;
if (!String.IsNullOrEmpty(searchString))
{
//search criteria
customers = customers.Where(s => s.SupportRef.Contains(searchString));
}
return View(db.TicketDetails.ToList());
}
我需要确保我的结果只返回1条记录。如果他们返回null
,那么我需要传入虚拟值。
答案 0 :(得分:2)
确保从查询中返回了多少项。
所有这些你可以这样写:
public ActionResult Index(string searchString)
{
var defaultReturnValue = //you default dummy object
if(String.IsNullOrEmpty(searchString))
return View(defaultReturnValue);
var customers = (from s in db.TicketDetails
where s.SupportRef.Contains(searchingString)
select s).Take(2).ToList(); // execute query here so not to execute it twice
return View(customers.Count > 1 ? defaultReturnValue :
customers.FirstOrDefault() ?? defaultReturnValue);
}
我已经添加了Take(2)
,因此生成的查询最多会占用2条记录,因此,如果有多条记录,它仍然不会带来所有记录