C# 获取列表中存在多个ID的结果(包含所有ID)

C# 获取列表中存在多个ID的结果(包含所有ID),c#,linq,entity-framework,C#,Linq,Entity Framework,我正在使用EF6,我有以下几点 public partial class Item { [Key] public int ItemID{ get; set; } public string ItemName{ get; set; } public virtual ICollection<Item_Tags> Item_Tags { get; set; } } public partial class Item_Tags {

我正在使用EF6,我有以下几点

public partial class Item
{
    [Key]
    public int ItemID{ get; set; }

    public string ItemName{ get; set; }

    public virtual ICollection<Item_Tags> Item_Tags { get; set; }
}

public partial class Item_Tags
    {
        [Key]
        public int ItemTagID { get; set; }

        public int ItemID { get; set; }

        public int ItemTagPropID { get; set; }

        public virtual Item_TagProps Item_TagProps { get; set; }

        public virtual Items Items { get; set; }

    }
所以,如果item的ItemTagPropID为23,但没有27,它仍然会出现在列表中

如何仅获取包含列表中所有成员的项目

以下代码未给出任何结果(将“任何”替换为“全部”)


您正在查找标记中包含所有标记的所有项目。 你写的恰恰相反:所有标签都在标签中的项目。 您需要的是:

ItemList = db.Items.Where(u => Tags.All(l => u.Item_Tags.Select(item_tag => item_tag.ItemTagPropID).ToList().Contains(l)));

您正在查找标记中包含所有标记的所有项目。 你写的恰恰相反:所有标签都在标签中的项目。 您需要的是:

ItemList = db.Items.Where(u => Tags.All(l => u.Item_Tags.Select(item_tag => item_tag.ItemTagPropID).ToList().Contains(l)));

您正在查找标记中包含所有标记的所有项目。 你写的恰恰相反:所有标签都在标签中的项目。 您需要的是:

ItemList = db.Items.Where(u => Tags.All(l => u.Item_Tags.Select(item_tag => item_tag.ItemTagPropID).ToList().Contains(l)));

您正在查找标记中包含所有标记的所有项目。 你写的恰恰相反:所有标签都在标签中的项目。 您需要的是:

ItemList = db.Items.Where(u => Tags.All(l => u.Item_Tags.Select(item_tag => item_tag.ItemTagPropID).ToList().Contains(l)));

标记是列表,所以我没有l.ItemTagPropIDError 117参数1:无法从'int'转换为'W3SR.Entities.Item_标记'我已经做了2次编辑,我还添加了选择药剂,您是否测试了它?标记是列表,所以我没有l.ItemTagPropIDError 117参数1:无法从'int'转换为'W3SR.Entities.Item_标记'我已经做了2次编辑,我还添加了选择药水,您是否测试了它?标记是列表,因此我没有l.ItemTagPropIDError 117参数1:无法从“int”转换为“W3SR.Entities.Item_Tags”我已进行了2次编辑,我还添加了选择药水,您是在使用还是不使用它进行测试?标记是列表,因此我没有l.ItemTagPropIDError 117参数1:无法从“int”转换为“W3SR.Entities.Item_标记”我已进行了2次编辑,我还添加了选择药剂,您是在使用还是不使用它进行测试?