2013-04-19 4 views
1

Это мой кодКак преобразовать и присвоить результат запроса linq к datatable?

var s = from p in db.tblTotalFees 
       where p.Class == ClassDropDownList.SelectedItem.Value && p.StudentID == Convert.ToInt32(StudentNameDropDownList.SelectedValue) 
       select p; 
     DataTable dt = new DataTable(); 

Как я могу конвертировать р в DataTable и хранить его в дт ???

+0

Вы должны найти учебник по Entity Framework. См. Http://msdn.microsoft.com/en-us/data/ee712907 –

ответ

1

Вы можете использовать метод расширения CopyToDataTable(), который описан на MSDN How to: Implement CopyToDataTable Where the Generic Type T Is Not a DataRow. Использование:

var selectedClass = ClassDropDownList.SelectedItem.Value; 
int id = Convert.ToInt32(StudentNameDropDownList.SelectedValue); 

var query = from p in db.tblTotalFees 
      where p.Class == && selectedClass 
        p.StudentID == id 
      select p; 

DataTable dt = query.CopyToDataTable(); // here 

Или вы можете использовать чистый ADO.NET - создать SqlCommand и заполнить таблицу с SqlDataAdapter.

+0

В моей intellisense нет CopyToDataTable(). Зачем?? –

+0

@PratikSharma вы прочитали статью MSDN из ссылки? По умолчанию существует только 'CopyToDataTable()' расширение для 'IEnumerable '. Но в вашем случае у вас есть последовательность пользовательских бизнес-объектов. В этой статье MSDN описывается, как реализовать такой метод для пользовательских бизнес-объектов. –

Смежные вопросы