我想查詢一個整數集合。目前,我只能按整數陣列中的第一個值進行過濾。如何查詢包含整數陣列中所有值的博客標簽 id 集合?
//list --> my blog posts variable
....
if (f.blogTagIds != null)
{
list = list.Where(p => p.BlogTagRelation.Select(p => p.BlogTagId).Contains(f.blogTagIds[0]));
}
....
搜索過濾器類
public class SearchFilterType
{
...
public int[] blogTagIds { get; set; }
...
}
ViewBag 博客標簽
var BlogTags = new List<SelectListItem>();
foreach (var item in _uow.BlogTag.GetAllByEnabledDate(null, _uow.Cookie.GetAdminLangId, _uow.Cookie.GetAdminWebSiteId))
{
BlogTags.Add(new SelectListItem
{
Text = item.Title,
Value = item.Id.ToString()
});
}
ViewBag.BlogTags = BlogTags;
過濾表單 BlogTagIds 選擇控制元件
<select asp-for="f.blogTagIds" class="form-control" multiple="multiple" asp-items="ViewBag.BlogTags"></select>
BlogTagRelation.cs
public partial class BlogTagRelation
{
public int Id { get; set; }
public int BlogId { get; set; }
public int BlogTagId { get; set; }
public virtual Blog Blog { get; set; }
public virtual BlogTag BlogTag { get; set; }
}
示例路線
/Blog/list?f.blogTagIds=8&f.blogTagIds=6
uj5u.com熱心網友回復:
嘗試:
var list =list.Where(x => blogTagIds.All(r => x.BlogTagRelation.Any(y => y.BlogTag.BlogTagId== r)));
確保所有 blogTagIds 都包含在 BlogTagRelation
結果:
[我選擇具有特殊角色 ID 的用戶]

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/431510.html
標籤:asp.net-mvc 林克 asp.net 核心 linq 到 sql
