我正在搜索组织,用户可以按年龄组进行过滤。
我想找到至少选择了其中一个年龄组的所有组织。
选定的年龄组存储在整个列表中:
model.selectedAges = List<int> selectedAges
我对linq
有以下查询orglist = orglist
.Where(o => o.AgeGroupCollection.Any(l=>l.AgeGroupID=model.selectedAges.Any());
我无法获得该部分。无法为我工作。
我需要它来获取agegroupID
==所选年龄列表中任何一个整数的任何记录。
答案 0 :(得分:4)
您想知道selectedAges
Any
中的AgeGroupID
是否包含o
的{{1}}?然后尝试这样:
AgeGroupCollection
答案 1 :(得分:2)
您可以像public NewsItem SelectedNewsItem {get;set;}//INPC when it is being set check for null and then process the selected item.
inThis.Any(i => searchThis.Contains(i));
这是简化的,因为您还没有提供您的课程 - 但它应该能够理解这一点。输出:
using System.Collections.Generic;
using System;
using System.Linq;
public class Program
{
static Random r = new Random();
public static void Main()
{
// Testdata
var searchThis = Enumerable.Range(1,12).Select(_ => r.Next(1,100)).ToList();
var inThis = Enumerable.Range(1,5).Select(_ => r.Next(90,100)).ToList();
bool isIn = inThis.Any(i => searchThis.Contains(i));
inThis.Sort(); // for ease of outputting
searchThis.Sort();
Console.WriteLine(string.Join(",",searchThis));
Console.WriteLine(string.Join(",",inThis));
Console.WriteLine(isIn);
}
}