como juntar e agrupar por id entre duas tabelas e obter soma de campos - Linq C # por meio de id?

Rakib Ahasan
  private class DataBindingProjection
    {
        public int WorkerId { get; set; }
        public string WorkerName { get; set; }
        public string Address { get; set; }
        public string Contact { get; set; }
        public string ReferenceName { get; set; }
        public string ReferenceContact { get; set; }
        public int TotalDistribute { get; set; }
        public int TotalCollection { get; set; }
        public int TotalDeposit { get; set; }
        public int TotalPayment { get; set; }
        public int TotalPayable { get; set; }
    }

    private void WorkerLIstForm_Load(object sender, EventArgs e)
    {
        var totalDistributed = (db.Distributions.AsEnumerable().GroupBy(d => d.WorkerId)).Select(a => new
        {
            WorkerId = a.Key,
            Amount = a.Sum(r => r.Piece)
        }).ToList();

        var collection = (db.Collections.AsEnumerable().GroupBy(d => d.WorkerId)).Select(a => new
        {
            WorkerId = a.Key,
            Piece = a.Sum(r => r.Piece),
            Deposit = a.Sum(r => r.PayableDeposit)

        }).ToList();

        var workerPayment = (db.WorkerPayments.AsEnumerable().GroupBy(d => d.WorkerId)).Select(a => new
        {
            WorkerId = a.Key,
            Payment = a.Sum(r => r.Payment),
            PayableAmount = a.Sum(r => r.PayableAmount)
        }).ToList();


        var worker = from w in db.Workers
                     join d in totalDistributed on w.WorkerId equals d.WorkerId
                     join c in collection on d.WorkerId equals c.WorkerId
                     join wp in workerPayment on w.WorkerId equals wp.WorkerId
                     select new DataBindingProjection
                     {
                         WorkerId = w.WorkerId,
                         WorkerName = w.WorkerName,
                         Address = w.Address,
                         Contact = w.Contact,
                         ReferenceName = w.ReferenceName,
                         ReferenceContact = w.RefereceContact,
                         TotalDistribute = d.Amount,
                         TotalCollection = c.Piece,
                         TotalDeposit = c.Deposit,
                         TotalPayment = wp.Payment,
                         TotalPayable = wp.PayableAmount
                     };
        workerDataGridView.DataSource = worker.ToList();

    }

Este é o meu código. Desejo carregar dados por meio de workerId e somar sua coluna específica, mas enfrento este erro ... System.NotSupportedException: 'Não é possível criar um valor constante do tipo' Tipo anônimo '. Apenas tipos primitivos ou tipos de enumeração são suportados neste contexto. '

  1. Meu código está errado?
  2. Se estiver errado, qual a abordagem correta ou melhor para isso?
Guru Stron

A primeira coisa que você pode tentar:

var worker = from w in db.Workers
     .Where(w => totalDistributed.Select(td => td.WorkerId).Contains(w.WorkerId))
     .Select(w =>  new {  w.WorkerId,
                         w.WorkerName,
                         w.Address,
                         w.Contact,
                         w.ReferenceName,
                         w.RefereceContact})
     .ToList()
    join d in totalDistributed on w.WorkerId equals d.WorkerId
....

Além disso, eu diria que você pode tentar executar toda essa consulta no lado do banco de dados. Tente remover AsEnumerablee ToListpartir workerPayment, collectione totalDistributedem seu código original.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

como juntar e agrupar por id entre duas tabelas e obter soma de campos - Linq C # por meio de id?

Unir e agrupar duas tabelas e obter soma de campos - Linq C #

como juntar três tabelas, adicionar dois campos separados de duas tabelas e, finalmente, agrupar por dois campos separados de duas tabelas

Como juntar 2 tabelas com consulta de soma múltipla na tabela e agrupar por

Como agrupar por ID e obter a contagem de cada categoria

Como somar valores de duas tabelas e agrupar por data

Existe uma maneira de juntar duas tabelas e então agrupar por algum atributo

Como juntar e obter dados de duas tabelas no laravel?

agrupar e juntar duas tabelas com base no id?

Como consultar dados de duas tabelas e agrupar por duas colunas

Como selecionar três colunas de duas tabelas e agrupar por apenas duas colunas em SQL

Soma cumulativa com agrupar por e juntar

PySpark - Agrupar por ID e Data e Soma em minutos por coluna de tempo

Como agregar a soma por um intervalo de datas e juntar

Qual é a diferença entre obter DOM por meio de id e classe

como dividir uma coluna em duas e agrupar por id

SOMA coluna específica usando agrupar por e como evitar pelo menos juntar valores de tabela a partir disso?

obter registros agrupados por campos de dia e soma

Como obter a diferença entre duas linhas em uma tabela e colocá-las em uma nova coluna por meio de SQL

Dataframe Python como agrupar por uma coluna e obter a soma de outra coluna

Como agrupar por duas colunas e obter uma soma em uma terceira coluna

Como juntar e obter soma de três tabelas diferentes no codeigniter?

Linq agrupar por e ordenar por soma

Diferença entre USING e ON ao juntar mais de duas tabelas

SELECIONE SOMA de colunas de várias tabelas e agrupe por id

Como obter soma de status específico ou id e juntando 3 tabelas no laravel

Usando duas tabelas de dados, agrupe por ID e conte, depois subtraia e atualize as linhas

Como juntar duas tabelas para exibir as vendas de cada id

Como juntar duas tabelas para exibir as vendas de cada id

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo