请参阅下面的对象。我需要做的是在实体框架中查询包含特定Option选项的MyObject实例。例如,我想要所有MyObject,其中Options集合包含Option Id = 1&选项Id = 5,没有其他选项。
public class MyObject
{
public int Id { get; set; }
//... More Properties
public IEnumerable<Option> Options { get; }
}
public class Option
{
public int Id { get; set; }
public string Name { get; set; }
}
我正在考虑尝试实现某种选项哈希并持久化它。然后,我的查询将是“MyObject.OptionHash == [HASH]”。据我所知,典型的哈希算法无法生成有保证的唯一哈希。任何意见或建议将不胜感激。
答案 0 :(得分:2)
以下查询应该这样做。
var itemsToCheck = new int[] {1, 5};
var filtered = myObjects.Where(myObject => !myObject.Options.Except(itemsToCheck).Any())