Там, где я работаю, мы наконец приходят к идее использования строго типизированных наборов данных для инкапсуляции некоторых наших запросов в sqlserver. Одной из идей, которую я рекламировал, является сила строго типизированных столбцов, в основном из-за того, что не нужно приводить какие-либо данные. Я ошибаюсь, полагая, что наборы данных со строгой типизацией улучшат производительность в следующей ситуации, когда потенциально могут быть тысячи строк?
старый способ:
using(DataTable dt = sql.ExecuteSomeQuery())
{
foreach (DataRow dr in dt.Rows)
{
var something = (string)dr["something"];
var somethingelse = (int)dr["somethingelse"];
}
}
новый способ:
MyDataAdapter.Fill(MyDataset);
foreach (DataRow dr in MyDataset.MyDT.Rows)
{
var something = dr.Something;
var somethingelse = dr.SomethingElse;
}
Если свойства на самом деле просто выполняют кастинг за кулисами, я вижу, как не будет никакого ускорения вообще; возможно, это заняло бы еще больше времени, чем прежде, с учетом накладных расходов на вызов функции.
Существуют ли какие-либо другие сильные / слабые стороны в использовании наборов данных, о которых мы должны знать?
Спасибо!