2009-11-20 6 views
0

Asiento ******** entier Id_Asiento clé Date Fecha Linq - 2 tables - Somme

It_Asiento 
********** 
Id_Asiento integer Forenkey 
Importe float 

Je wan à faire cette requête SQL avec Linq

select Asiento.Id_Asiento, Asiento.Fecha, Sum(It_Asiento.Importe) 
From Asiento 
join It_Asiento 
on Asiento.Id_Asiento = It_Asiento.Id_Asiento 
and It_Asiento.Importe > 0 
group by Asiento.Id_Asiento, Asiento.Fecha 

Sur mes tables de démarrage DataBase ont une relation, donc sur C#/Linq je n'ai pas besoin de faire une jointure, non?

J'essaie, mais ne fonctionnent pas

IQueryable listAsientos = from it_a in dc_Asientos.It_Asientos 
          where it_a.importe > 0 
          group it_a by it_a.id_asto, it_a.Asiento.fecha 
          **//¿it_a.ASiento.Fecha??????** 
          into resultado 
          select new 
          { 
           id_asto = resultado.Key, 
           **/¿¿¿¿¿fecha = it.a.Asiento.Fecha?????** 
           suma = resultado.Sum(it => it.importe) 
          }; 

quelqu'un peut me aider? DÉSOLÉ pour mon pauvre anglais.

Répondre

0

Isn; t resultado un objet It_Asientos? Vous devez donc utiliser

id_asto = resultado.Key.Id_asto, 
fecha = resultado.Key.fecha 
0

La requête suivante peut résoudre votre problème

IQueryable listAsientos = from it_a in dc_Asientos.It_Asientos 
         where it_a.importe > 0 
         group it_a by new { it_a.id_asto, it_a.Asiento.fecha } 
         into resultado 
         select new 
         { 
          id_asto = resultado.Key.id_asto, 
          suma = resultado.Sum(it => it.importe) 
         };