0

このような LINQ の作成について短い質問があります。「eventname」という名前のフィールドに基づいて、データベースからレコード「event」を検索する必要があります。そのフィールドは、それぞれの特定のケースに応じて、「%abc」または「abc%」または「%abc%」になります。

int pos; 
//define the position of % in finding string, pos=1: %abc, pos=2: abc%, pos=3: %abc%

var SQLquery =
  (from event evn in database.events
    where (
       case pos=1: evn.CarNumber.EndsWith(string))
       case pos=2: evn.CarNumber.StartsWith(string))
       case pos=3: evn.CarNumber.Contains(string))
    select new DataRecord
       {
       ...
       };

この状況を処理する方法はありますか? 前もって感謝します。

King Kingのおかげで、うまく機能します

var SQLquery =
  (from event evn in database.events
    where (
       (pos==1 && evn.CarNumber.EndsWith(string)) ||
       (pos==2 && evn.CarNumber.StartsWith(string)) ||
       (pos==3 && evn.CarNumber.Contains(string))
    select new DataRecord
       {
       ...
       };
4

3 に答える 3