我确定我必须在这里遗漏一些非常简单的东西..
好的,我有一个 AreaId 列表。我想将该列表与 MapArea 表进行比较,并返回表中存在但不在提供的列表中的任何 ID。
这是我要检查的提供区域列表:
var currentAreas = (from c in _entities.mapAreaLink
where c.listingId == id
select new
{
c.MapArea.areaId
}
).ToList();
这是获取 mapAreas 的详尽列表..
var availableAreas = (from m in _entities.MapAreas
select new
{
m.areaId
}
).ToList();
这将比较两个列表并获取存在于 maparea 表中但不存在于 maparealink 中的项目(受我正在查看的项目的 id 约束)。
var unusedAreas = availableAreas.Except(currentAreas).ToList();
我似乎恢复了列表,但我现在需要做的是根据上面的 except.tolist 的结果返回一个 maparea 对象列表。
我以为我可以这样做:
var mapareas = (from e in _entities.MapAreas
where unusedAreas.Contains(e.areaId)
select e).ToList();
我在 e.areaId 上的 where 和“无法解析方法包含(int)”上得到一个模棱两可的调用。
我试过使用:
var unusedAreas = availableAreas.Except(currentAreas).ToArray();
没有喜悦..有人可以在这里帮助我吗-我猜我必须在这里缺少基本知识。
非常感谢