【发布时间】:2021-04-26 15:57:22
【问题描述】:
所以,我有一个名为:
AppointmentsActivities
包括:
AppointmentID
ActivityID
我需要实现更新操作。由于它是一个联结表,因此更新不仅应该能够更新现有记录,还应该能够插入新记录,或者删除不再需要存在于表中的记录(因为我正在传递一个带有约会 ID 的实体和ActivityID 的列表)。
我正在努力删除表中不应再存在的记录。 我必须删除所有具有相同 AppointmentId 的记录,但他的 ActivityID 不应出现在新活动列表中的任何对象中。
我写的查询是这样的:
var remove = _context.AppointmentsActivities.
Where(i => i.AppointmentID == entity.ID && entity.Activities.Any(u => u.ActivityID != i.ActivityID)).
ToList();
地点:
i => i.AppointmentID == entity.ID
检查新传递的实体的约会ID是否与数据库表中的相同。
还有:
entity.Activities.Any(u => u.ActivityID != i.ActivityID)
应该检查活动列表中的任何活动ID是否等于数据库表中的活动ID。
显然,我遗漏了一些东西,因为 EF 无法解析此 LINQ 查询。我错过了什么?任何帮助将不胜感激。谢谢。
【问题讨论】:
标签: entity-framework linq