C# 将哈希集加入LINQ到SQL查询

C# 将哈希集加入LINQ到SQL查询,c#,sql,linq,join,hashset,C#,Sql,Linq,Join,Hashset,我有一个HashSet,其中包含必须选择的项目的列表int id HashSet<int> SelectedItems = new HashSet<int>() 如果Id在哈希集中,则IsSelected属性必须设置为true,否则必须设置为false 以下是我的LINQ查询: var items = from c in itemsContext.DataItems where (c.Latest == true) select c; 如何将H

我有一个HashSet,其中包含必须选择的项目的列表int id

HashSet<int> SelectedItems = new HashSet<int>()
如果Id在哈希集中,则IsSelected属性必须设置为true,否则必须设置为false

以下是我的LINQ查询:

var items =
    from c in itemsContext.DataItems
    where (c.Latest == true)
    select c;
如何将HashSet加入到上述查询中,以获得所需的结果

谢谢


PS:很抱歉,我不知道为什么代码块的格式不正确。

如果我正确理解了您的问题,即memmory中与selecteditems对应的数据项。。。 然后使用包含

from dataItem in context.DataItems
where dataItem.Latest && SelectedItems.Contains(dataItem.Id)
select dataItem;

这就是我提出的解决方案:

from dataItem in context.DataItems
where dataItem.Latest
select new {dataItem.Id,dataItem.Name,IsSelected=SelectedItems.Contains(dataItem.Id)};

感谢您为我指明了正确的方向。

几乎是我所需要的,请参阅下文了解我所用的内容。这将枚举数据库中的整个数据项数据集,我的理解是要过滤数据库中的数据项。。Cheers将根据设置的最新字段筛选数据集。哈希集成员资格是结果集而不是筛选器的要求。如果我不够清楚,我道歉。
from dataItem in context.DataItems
where dataItem.Latest
select new {dataItem.Id,dataItem.Name,IsSelected=SelectedItems.Contains(dataItem.Id)};