Я уже разработал приложение, которое возвращает DataTable
везде.
Теперь мой клиент хочет преобразовать (использовать некоторую часть, используя стек служб), поэтому мне нужно вернуть DTO (objects)
в моем приложении.
Я не хочу менять свои существующие хранимые процедуры или даже не хочу использовать LINQ в максимально возможной степени (я не слишком осведомлен о LINQ).
Для небольших функций я могу использовать Linq без проблем.
У меня вопрос: как я могу изменить свой DataTable
на объекты этого класса?
Пример кода приведен ниже:
string s = DateTime.Now.ToString();
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("name");
for (int i = 0; i < 5000000; i++)
{
DataRow dr = dt.NewRow();
dr["id"] = i.ToString();
dr["name"] = "name" + i.ToString();
dt.Rows.Add(dr);
dt.AcceptChanges();
}
List<Class1> clslist = new List<Class1>();
for (int i = 0; i < dt.Rows.Count; i++)
{
Class1 cls = new Class1();
cls.id = dt.Rows[i]["id"].ToString();
cls.name = dt.Rows[i]["name"].ToString();
clslist.Add(cls);
}
Response.Write(s);
Response.Write("<br>");
Response.Write(DateTime.Now.ToString());
Я знаю, что описанный выше метод занимает много времени, и я пытаюсь найти альтернативное решение.
Есть ли какой-нибудь альтернативный способ (я думаю, LINQ to DataTable), с помощью которого он напрямую преобразует строки таблиц в List<Class1>
?
Так что я могу вернуть объекты в моем стеке услуг и идти вперед.