我正在使用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; }
}
我有一个List标签,它有多个{23,27,44} ItemTagPropID值。
我需要的是找到与列表标签中所有ItemTagPropID匹配的所有项目。
我有一个以下代码,可以从List Tags
中获取所有具有任何ItemTagPropID的项目ItemList = db.Items.Where(u => u.Item_Tags.Any(l => Tags.Contains(l.ItemTagPropID)));
因此,如果item的ItemTagPropID为23但没有27,则它仍然会进入列表。
如何只获取包含列表中所有成员的项目?
以下代码未给出任何结果(将Any替换为All)
ItemList = db.Items.Where(u => u.Item_Tags.All(l => Tags.Contains(l.ItemTagPropID)));
答案 0 :(得分:2)
您正在寻找包含标签中所有标签的所有商品。 你写的是相反的:所有标签都在标签中的项目。 你需要的是:
<li>
<p dir="ltr" style="line-height: 1.15; margin-top: 0pt; margin-bottom: 0pt; text-align: justify;"><span style="background-color: transparent; vertical-align: baseline; white-space: pre-wrap;">Text to display</span>
</p></li>