-2

List.Contains メソッドで、次の linq クエリを変更して、LIKEを使用して SQL で行うように部分検索に対応するにはどうすればよいですか

AllDegrees.Listt = new List<string>();
.....
.....
.....
.....
var query = from q in query
join ce in context.CandidateEducations
on q.c.Candidate_OID equals ce.Candidate_OID
where AllDegrees.Listt.Contains(ce.Degree)
select q;

実際のシナリオは、 AllDegrees.Listt に kahal、jaaaal、baaal、maaal があることです。ce.Degree が ka または al または ja または aa の場合、その行が結果セットに含まれるはずです。

4

3 に答える 3

2

これをチェックして、

   private List<string> findDegreesLoop()
   {
        var list1 = new List<string>();
        var list2 = new List<string>();
        var list3 = new List<string>();

        foreach (var degree in list2)
        {
            var matches = list1.Where(q => q.Contains(degree)).ToList();
            if (matches.Any())
            {
               list3.AddRange(matches);
            }
        }
return list3;
 }


  private List<string> findDegreesLinq()
 {
        var list1 = new List<string>();
        var list2 = new List<string>();
        var list3 = new List<string>();

        foreach (var matches in list2.Select(degree => list1.Where(q =>     q.Contains(degree)).ToList()).Where(matches => matches.Any()))
        {
            list3.AddRange(matches);
        }
return list3;
  }
于 2013-06-06T13:06:20.040 に答える
2
AllDegrees.Listt.Where(x => x.Contains("your string")).Any();
于 2013-06-06T12:26:49.360 に答える
1

Not sure if this is what your are looking for. Here is a simple example which implements contains (~ SQL LIKE) method.

    context.CandidateEducations.Where(d=>d.ToLower().Trim().Contains(MyVariable.ToLower().Trim()))
于 2013-06-06T12:31:16.453 に答える