C# 获取列表中存在多个ID的结果(包含所有ID)
我正在使用EF6,我有以下几点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 {
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次编辑,我还添加了选择药剂,您是在使用还是不使用它进行测试?