我有这些模型更新许多到许多实体框架的关系抛出一个lambda表达式错误
public class Admin
{
public Admin()
{
this.course = new HashSet<Courses>();
}
[Key]
public int ID { get; set; }
public string LoginName { get; set; }
public virtual ICollection<Courses> course { get; set; }
}
public class Courses
{
public Courses()
{
this.admin = new HashSet<Admin>();
}
[Key]
public int ID { get; set; }
public string Name { get; set; }
public virtual ICollection<Admin> admin { get; set; }
}
,这是我的控制器方法来更新
public ActionResult Admins(Admin rec, IList<int> CourseId)
{
if (rec.ID > 0) // edit
{
var dbrec = db.Admins.Include("Courses").Where(s => s.ID == rec.ID).FirstOrDefault<Admin>();
dbrec.DisplayName = rec.DisplayName;
var deletedCourses = dbrec.course.Except(rec.course, cours => cours.ID).ToList<Courses>();
}
}
我在这里面对的问题这行代码cours => cours.ID
。
错误消息
不能转换lambda表达式类型的IEqualityComparer,因为它不是一个委托类型
谁能告诉我,为什么我得到这个错误?
我下面这个教程
你错用了'Except()'。 'var deletedCourses = dbrec.course.Except(rec.course).ToList();'this get all _except_'rec' –