我有一个HashSet,其中包含必须选择的项目的列表int int ID。
HashSet<int> SelectedItems = new HashSet<int>()
完整的项目列表由LINQ to SQL语句加载。 我将填充以下的ObservableCollection:
public class DataItem
{
public int Id { get; private set; }
public name String { get; private set; }
public bool IsSelected { get; set; }
}
如果Id在HashSet中,则IsSelected属性必须设置为true,否则必须设置为false;
这是我的LINQ查询:
var items =
from c in itemsContext.DataItems
where (c.Latest == true)
select c;
如何将HashSet加入上述查询以实现我想要的结果?
由于
PS:很抱歉,我不知道为什么代码块格式不正确。
答案 0 :(得分:3)
如果我正确理解你的问题,即与memmory中的选定项目相对应的数据项... 然后使用包含...
from dataItem in context.DataItems
where dataItem.Latest && SelectedItems.Contains(dataItem.Id)
select dataItem;
答案 1 :(得分:0)
这就是我提出的解决方案:
from dataItem in context.DataItems
where dataItem.Latest
select new {dataItem.Id,dataItem.Name,IsSelected=SelectedItems.Contains(dataItem.Id)};
感谢您指出我正确的方向。