IsDeleted在上下文中不存在,但它在类中定义

时间:2015-10-20 08:49:32

标签: c# asp.net-mvc null

我一直坚持这个错误很长一段时间,我无法弄清楚为什么我会得到它? IsDeleted在我的班级中定义,就像Department一样。但它说IsDeleted不存在。

此外,还有另一种方法可以返回人员WHERE IsDeleted是false还是null?它不允许我这样做。它是一个布尔值,但它也是一个可以为空的值。我只想显示IsDeleted等于false或null的人员。

有问题的代码

public ActionResult Index()
{  
    var staffs = db.Staffs.Include(s => s.Department).ToList();

    return View(staffs.Where(IsDeleted = false));
}

错误

  

当前上下文中不存在名称“IsDeleted”

员工班级

public partial class Staff
{
    [Display(Name = "Staff ID")]
    public int StaffID { get; set; }

    public string Name { get; set; }

    [Display(Name = "Department ID")]
    public Nullable<int> DeptID { get; set; }

    public string Email { get; set; }
    public Nullable<bool> IsDeleted { get; set; }
    public Nullable<System.DateTime> LastUpdatedOn { get; set; }
    public string LastUpdatedBy { get; set; }

    public virtual Department Department { get; set; }
}

2 个答案:

答案 0 :(得分:2)

您当前的代码在名为IsDeleted的范围内查找变量。它不是用于评估每条记录的表达式。

为了完成后者,您需要lambda expression

staffs.Where(s => !s.IsDeleted)

答案 1 :(得分:0)

它应该在下面

$(function() {
    var COOKIE_NAME = 'splash-page-cookie';
    $go = $.cookie(COOKIE_NAME);
    if ($go == null) {
        $.cookie(COOKIE_NAME, 'test', { path: '/', expires: 1 });
        window.location = "/example"
    }
    else {
        // do nothing
    }
});

或者如果您愿意

return View(staffs.Where(x=> !x.IsDeleted));