这应该很简单,但是我在IF块内部的行上绊倒了。那条线上的错误是



我尝试在AsQueryable()后附加各种扩展名(ToList()AsEnumerable().Contains()等),但无济于事。

我在这里想念什么?该项目是使用MVC 4 Beta和EF4构建的

public ActionResult SearchIndex(string searchString)
{
    var patients = this.db.Patients;

    if (!String.IsNullOrEmpty(searchString))
    {
        patients = patients.Where(p => p.LastName.Contains(searchString));
    }

    return View(patients.ToList());

}

最佳答案

将患者明确声明为IQueryable<Patient>

IQueryable<Patient> patients = this.db.Patients;

或在上面调用AsQueryable:
var patients = this.db.Patients.AsQueryable();

10-05 19:54