misaqyrn9677 Ответов: 1

Как вернуть datatable с помощью linq & lambda


Преобразование LINQ в DataTable результаты

Я хотел бы написать запрос, который, а не сказать.Tolist () в Linq & Lambda выводе DataTable back, пожалуйста, помогите мне

Например, следующий код

var query = db.TblUsers.where (x => x.id! = 0) .Tolist ();


Вывод приведенного выше кода будет генерировать DataTable и использовать тот же метод Linq & lambda

ниже код прописан на foreach, но удалить по каждому элементу с помощью технологии LINQ &амп; лямда -

var query = db.TblUsers.Where(x => x.Id != 0).ToList();
DataTable DT = new DataTable();
DT.Clear();
DT.Columns.Add("نام");
DT.Columns.Add("نام خانوادگی");
 
foreach (var item in query)
{
       Object[] O = { item.Name,item.Family };
       DT.Rows.Add(O);
}
 
dataGridView1.DataSource = DT



С уважением
Yarian

Karthik_Mahalingam

проверить это Преобразование общего списка в Datatable[^]

misaqyrn9677

я не хочу использовать foreach

1 Ответов

Рейтинг:
9

Karthik_Mahalingam

попробовать это

DataTable DT = new DataTable();
DT.Clear();
DT.Columns.Add("نام");
DT.Columns.Add("نام خانوادگی");


DataTable dtNew  = db.TblUsers.Where(x => x.Id != 0).Select(k => { var row = DT.NewRow(); row.ItemArray = new object[] { k.Name, k.Family }; return row; }).CopyToDataTable();


0x01AA

Но DataTable не имеет метода Where.. или я что-то упустил?

Karthik_Mahalingam

TblUsers это список & lt; class >

0x01AA

Хорошо, спасибо :)

Karthik_Mahalingam

:)

misaqyrn9677

Ниже Ошибка При Использовании Его В Visual Studio 2012
Лямбда-выражение с телом оператора не может быть преобразовано в дерево выражений

Karthik_Mahalingam

попробуйте воспользоваться методом asenumerable

db.TblUsers.Где (x => x.Id != 0).Методом asenumerable().Выберите(к =&ГТ; { ВАР подряд = ДТ.Невров(); строки.ItemArray = новый объект[] { k.Name, k. Family }; return row;}). Copytodatable();

misaqyrn9677

Я Пытаюсь Но И Eroring В Pm Ниже

Источник не содержит никаких потоков данных.

Karthik_Mahalingam

сколько строк в TblUsers ?

misaqyrn9677

о хорошо я должен держать мин 1 строку иначе ошибка

misaqyrn9677

Спасибо

Karthik_Mahalingam

добро пожаловать

Karthik_Mahalingam

что вы можете поставить условие для проверки пустых строк.