非静态字段,方法或属性'ApplicationDbContext.Locations'需要对象引用

时间:2019-12-17 20:51:02

标签: c# visual-studio entity-framework asp.net-mvc-5

 public ActionResult Filter()
    {
        var viewModel = new Location();
        viewModel.Patients = ApplicationDbContext.Locations.ToList();
        return View(viewModel);
    }

这是在我的控制器中,我的患者位于两个位置之一,并且我试图创建一个下拉列表以在两个位置之间进行过滤。

这是我正在使用的模型。

namespace FolderSystem.Models
{
    public class Location
    {
        public int Id { get; set; }
        public string Name { get; set; }
        [Display(Name = "Address")]
        public int? AddressId { get; set; }
        public virtual ICollection<Patient> Patients { get; set; }
        public virtual ICollection<ApplicationUser> ApplicationUsers { get; set; }
        public virtual Address Address { get; set; }
    }
}

1 个答案:

答案 0 :(得分:1)

您必须这样声明ApplicationDbContext中的一个对象

ApplicationDbContext db = new ApplicationDbContext();

然后您可以使用db代替ApplicationDbContext

public ActionResult Filter()
{
    var viewModel = new Location();
    viewModel.Patients = db.Locations.ToList();
    return View(viewModel);
}