Array
(
)

Ajuda com Entity Framework Saldo anterior

Paulo Freire
|
MVP
    19 dez 2012

Ola a todos eu tenho uma tabela chamada LANCAMENTOS
ID=INT
DATA=DATE
TIPO=CHAR(1) // D=DEBITO, C=CREDITO
DESCRICAO =VARCHAR(50)
DEBITO=NUMERIC(12,2)
CREDITO=NUMERIC(12,2)
Gostaria de fazer um select por Data, pegando o saldo anterior, eu uso o MySQL, teria como ?

Robson Robsonalves.net
   - 19 dez 2012


Citação:
Ola a todos eu tenho uma tabela chamada LANCAMENTOS
ID=INT
DATA=DATE
TIPO=CHAR(1) // D=DEBITO, C=CREDITO
DESCRICAO =VARCHAR(50)
DEBITO=NUMERIC(12,2)
CREDITO=NUMERIC(12,2)

Gostaria de fazer um select por Data, pegando o saldo anterior, eu uso o MySQL, teria como ?


Legal, mas você gostaria de fazer isso em Entity ou MySql? não ficou claro isso no final!
e vc já tem algum código onde ocorreu problema?

Paulo Freire
|
MVP
    20 dez 2012

Na verdade meu banco está em MySQL 5.1, e uso entity framework para gravar, editar e excluir e alguns selects, não sei se expliquei correto. Como estou no desenpero, preciso de qualquer um, obrigado.

Paulo Freire
|
MVP
    21 dez 2012

Consegui, agora como passar isso para Entity,

SELECT x.ID, x.TIPO, x.DESCRICAO, x.DATA, x.DEBITO, x.CREDITO, SUM(y.bal) SALDO
FROM
(
SELECT *,DEBITO-CREDITO bal FROM LANCAMENTOS
) x
JOIN
(
SELECT *,DEBITO-CREDITO bal FROM LANCAMENTOS
) y
ON y.ID <= x.ID
GROUP
BY x.ID;

Robson Robsonalves.net
   - 21 dez 2012


Citação:
Consegui, agora como passar isso para Entity,

SELECT x.ID, x.TIPO, x.DESCRICAO, x.DATA, x.DEBITO, x.CREDITO, SUM(y.bal) SALDO
FROM
(
SELECT *,DEBITO-CREDITO bal FROM LANCAMENTOS
) x
JOIN
(
SELECT *,DEBITO-CREDITO bal FROM LANCAMENTOS
) y
ON y.ID <= x.ID
GROUP
BY x.ID;


Não tenho como ter certeza do código, acredito que chegue próximo do que você espera!

#Código


            var user = from a in Saldo()
                       join a1 in SaldoAnterior() on a.id.equals(al.id)
                       group a by a.name into Soma
                       select new { a.ID, a.Tipo, a.Descricao, a.Data, a.Debito, a.Credito, Saldo = Soma.Sum(bal => al.bal)}

            return user.ToList();