2010-05-26 3 views
1
  var dept_list = (from map in DtMapGuestDepartment.AsEnumerable() 
          where map.Field<Nullable<long>>("GUEST_ID") == DRowGuestPI.Field<Nullable<long>>("PK_GUEST_ID") 
          join 
          dept in DtDepartment.AsEnumerable() 
          on map.Field<Nullable<long>>("DEPARTMENT_ID") equals dept.Field<Nullable<long>>("DEPARTMENT_ID") 
          select new 
           { 
            dept_id=dept.Field<long>("DEPARTMENT_ID") 
            ,dept_name=dept.Field<long>("DEPARTMENT_NAME") 
           }).Distinct(); 


      DataTable dt = new DataTable(); 
      dt.Columns.Add("DEPARTMENT_ID"); 
      dt.Columns.Add("DEPARTMENT_NAME"); 
      foreach (long? dept_ in dept_list) 
      { 
       dt.Rows.Add(dept_[0], dept_[1]); 
      } 

EDITJe veux obtenir 2 valeurs retournées par ma requête. Comment faire, en utilisant LINQ à l'entité

Dans la question précédente posée par moi.

J'ai une réponse comme celle-ci pour une seule valeur. Quelle est la différence entre les deux ?

foreach (long? dept in dept_list) { 
    dt.Rows.Add(dept); 
} 

Répondre

1
foreach (var dept_ in dept_list) 
{ 
    dt.Rows.Add(dept_.dept_id, dept_dept_name); 
} 

réponse pour EDIT

Je suppose que dans votre dept_list question précédente était de type IEnumerable mais dans cette question, il est de type IEnumerable où T est un type anonyme

Questions connexes