sql >> データベース >  >> RDS >> Mysql

Entity FrameworkのGroupby内のTake(limit)リスト

    これは、MySQLのEFプロバイダーまたはサーバー自体がこのlinqをSQLに変換できないために発生します。そのため、最初にサーバーからデータを取得してから、Take(2)でグループ化する必要があります。 :

    var test = unitOfWork.ChatMensagemRepository.GetAll()
                  .Where(x => x.PessoaCodigoPessoa == codigoRemetente)
                  //this section is added
                  .Select(x => new 
                  {
                      x.ChatConversaCodigoChatConversa,
                      x.prop1,//specify only columns, which you need for below code with Take
                      x.prop2
                  }).ToList()
                  //end of section
                  .GroupBy(x => x.ChatConversaCodigoChatConversa)
                  .Select(group => new
                  {
                      codigoChat = group.Key,
                      list = group.Take(2).Select(mensagem => new
                      {
                         mensagem.prop1, 
                         mensagem.prop2
                      }).ToList()
                  }).ToList();
    



    1. 非同期処理のためのServiceBrokerの構成

    2. 1つのテーブルの同じ列にある2つの外部キー

    3. フォークするかしないか?

    4. Djangoデータベースにデータを入力します