2012-06-18 2 views
0

У меня есть этот код:Возврат DataTable из Entity Query

public IList<T_LOGO> Get_All_Obj() 
     { 
      try 
      { 
       IList<T_LOGO> LesListe; 
       using (Soft8Exp_ClientEntities oEntite_T = new Soft8Exp_ClientEntities()) 
       { 
        var query = from o in oEntite_T.T_LOGO select o; 
        LesListe = query.ToList(); 
       } 
       return LesListe; 
      } 
      catch (Exception excThrown) 
      { 
       throw new Exception("Err_02", excThrown); 
      } 
     } 

Как я могу вернуть DataTable вместо этого?

public DataTable Get_All_Obj_DataTable() 
     { 
      try 
      { 
       DataTable TheTable = new DataTable("sd"); 
       using (Soft8Exp_ClientEntities oEntite_T = new Soft8Exp_ClientEntities()) 
       { 
        var query = from o in oEntite_T.T_LOGO select o; 
        IDbCommand cmd = Soft8Exp_ClientEntities.GetCommand(query as IQueryable); // ERROR GetCommand Not Found 
        SqlDataAdapter adapter = new SqlDataAdapter(); 
        adapter.SelectCommand = (SqlCommand)cmd; 

       } 
       return TheTable; 
      } 
      catch (Exception excThrown) 
      { 
       throw new Exception("Err_02", excThrown); 
      } 
     } 
+0

Почему вы хотите DataTable? Как правило, предпочтительным является строго типизированный список. – jrummell

ответ

0

Попробуйте это:

var query = (ObjectQuery<T_LOGO>)(from o in oEntite_T.T_LOGO select o); 
Var command = new SqlCommand(query.ToTraceString(), 
          ((EntityConnection)oEntite_T.Connection).StoreConnection);