Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Lista Take (limit) wewnątrz Groupby w Entity Framework

Jest to spowodowane tym, że dostawca EF dla MySQL lub sam serwer nie może przetłumaczyć tego linq na SQL, więc powinieneś najpierw pobrać dane z serwera, a dopiero potem zgrupować je za pomocą 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. #1075 - Nieprawidłowa definicja tabeli; może istnieć tylko jedna kolumna auto i musi być zdefiniowana jako klucz

  2. Wstaw znacznik czasu do bazy danych + 7 dni

  3. Ostrzeżenie:mysql_result() [function.mysql-result]:Nie można przeskoczyć do wiersza 0 w indeksie wyników MySQL 5 w profile.php w wierszu 11

  4. Komunikat o błędzie MYSQL DBDump

  5. Jak przekonwertować Lat Long na adres w php z json api?