How can I search for an item in the string array in a list where these values can be in multiple columns.
using System;
using System.Collections.Generic;
namespace ConsoleApp10
{
class Program
{
static void Main(string[] args)
{
string[] strtosearch = { "abc", "xyz", "123" };
}
}
I have a string array like above where I want to filter for these values from the below model.
public class Source
{
public string S1 { get; set; }
public ICollection<InnerSource> InnerSources { get; set; }
}
public class InnerSource
{
public string D1 { get; set; }
public ICollection<InnerSource2> InnerSource2s { get; set; }
}
public class InnerSource2
{
public string **D1ToSearch** { get; set; }
public string D2 { get; set; }
public string **D3ToSearch** { get; set; }
}
}
Here in the first four with values D1ToSearch or D3ToSearch has the value abc and xyz . so my query result should limit to the first three entries.
var example = new List<Source>
{
new Source
{
S1 ="1",
InnerSources = new List<InnerSource>
{
new InnerSource
{
D1 ="2",
InnerSource2s= new List<InnerSource2>
{
new InnerSource2
{
D1ToSearch ="abc",
D2="3",
D3ToSearch="222"
},new InnerSource2
{
D1ToSearch ="122",
D2="3",
D3ToSearch="abc"
}
,new InnerSource2
{
D1ToSearch ="abc",
D2="3",
D3ToSearch="333"
}
Here in the first four with values D1ToSearch or D3ToSearch has the value abc and xyz . so my query result should limit to the first three entries.
,new InnerSource2
{
D1ToSearch ="opq",
D2="3",
D3ToSearch="xyz"
},
,new InnerSource2
{
D1ToSearch ="arstbc",
D2="3",
D3ToSearch="uvw"
} } } } } };
If D1ToSearch or D3ToSearch contains any of the above values I would like to return that row.Above is a sample list added as an expamle .
How can I do this using LINQ query?