2017-08-08 4 views
0

私はASP.NET MVCでプロジェクトを持っています。 データベースに接続し、接尾辞'r'のすべてのクライアントを引き出す必要があります。私が試した:私はSystem.NotSupportedExceptionを取得しています特定の接尾辞付きのLINQ(EF)を使用してテーブルから名前を取得

public class MyDBRepository 
{ 
    public IEnumerable<MyClient> GetNamesBySuffix(char symbol) 
    { 
     List<MyClient> myClients = new List<MyClient>(); 

     using (MyDBEntities m = new MyDBEntities()) 
     { 
      List<Client> Clients = new List<Client>(); 
      Clients = m.Clients.Where(c => c.name[c.name.Length-1] == symbol).ToList(); 
      foreach (Client client in Clients) 
      { 
       MyClient newClient = new MyClient() { Name = client.name }; 
       myClients.Add(newClient); 
      } 
      return myClients; 
     } 
    } 
} 

、私は明らかに、SQLでインデックス(c.name[c.name.Length-1])を使用カント..ヘルパーのための TY!

+2

あなたが試してみました:?!!! 'm.Clients.Where(C => c.name.EndsWith( "R")を;' –

答えて

1

を試してみてください。

public class MyDBRepository 
{ 
    public IEnumerable<MyClient> GetNamesBySuffix(char symbol) 
    { 
    List<MyClient> myClients = new List<MyClient>(); 

    using (MyDBEntities m = new MyDBEntities()) 
    { 
     myClients = m.Clients.Where(c => c.name.Trim().EndsWith(symbol+"")) 
          .Select(c=>new MyClient {name=c.name}) 
          .ToList();   
     return myClients; 
    } 
    } 
} 
+0

のTyを本当に便利 –

+0

ください。 –

+0

何?何かすればいいのですか? –

1

は、最後の文字に基づいてデータを検索するためにEndsWithを使用している以下のコードを確認し

Clients = m.Clients.Where(c => c.name.EndsWith(symbol.ToString())).ToList(); 
+1

Tyが本当に便利!!!! –

関連する問題