0
假設我有一個類似於下面的模型(和表):使用LINQ使用匹配的密鑰關聯表中刪除表多行
Program: ProgramId (PKey)
ProgramRegistration: ProgramRegistrationId (PKey), ProgramId (FKey)
CourseEnrollments: CourseEnrollmentId (PKey), ProgramRegistrationId (FKey)
我需要做的是,在控制器我傳遞恰好是ProgramId的id。我想批量刪除ProgramEntries中具有ProgramRegistration中匹配記錄的所有行(或項目),並使用傳遞的參數id = ProgramId。
所以我想我會做:
db.CourseEnrollments.Where(e => e.ProgramRegistration.ProgramId == id).ToList().Remove();
問題:那就是上面使用導航屬性正確的方法呢?
是的,這是正確的。幾乎是唯一的方法。在擴展方法風格中,它將是'foreach(var c in db.CourseEnrollments.Where(e => e.ProgramRegistration.ProgramId == id)'。它們是相等的。 – abatishchev 2014-10-01 06:14:33