sql >> Databáze >  >> RDS >> Mysql

Take(limit) seznam uvnitř Groupby v Entity Framework

Je to způsobeno tím, že poskytovatel EF pro MySQL nebo samotný server neumí tento linq přeložit do SQL, takže byste měli nejprve získat data ze serveru a teprve potom je seskupit 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. MySQL2 Ruby drahokam nelze nainstalovat 10.6

  2. Potřebné rady ohledně struktury databáze

  3. Oznámení ClusterControl 1.5 – s automatickým ověřováním zálohy a nahráváním do cloudu

  4. Datové pole Chart.js využívající PHP, MySQL. Jak definovat zdroj dat z pole JSON?