【发布时间】:2015-08-06 03:14:20
【问题描述】:
在我的数据库中,我所有的表都有 5 个重复字段(CreateUser、UpdateUser、IsRemoved...)
现在,我通常将 DbContext 称为:
mydbEntities db = new mydbEntities();
然后当我需要调出所有students 和所有classes 时,我通常将它们称为:
var students = db.students;
var classes = db.classes;
但是!由于我必须不带列有 IsRemoved == true 的那些,所以我在我的应用程序中到处重写:
var students = db.students.Where(m => m.IsRemoved == false);
var classes = db.classes.Where(m => m.IsRemoved == false);
为了避免在替换现有代码时出现错误和错误,当脚手架创建新控制器时,以及其他开发人员忘记添加 Where() 时,我想知道我是否可以覆盖调用 db.students 以便在内部,它总是添加Where()
这对将来也有帮助,所以当我打电话给db.students.Include(s => s.classes) 时,两次IsRemoved 都被考虑在内,即使学生存在,如果班级已被删除,那么它也不会返回在列表中。
【问题讨论】:
标签: c# entity-framework dbcontext iqueryable