Записи с тегом «ADO.NET»
Extension-методы для DataRow и DataTable
Долгое время использовал такую конструкцию если нужно было получить данные из нетипизированного DataRow:
var temp = Convert.ToInt32(row["SomeField"]);
В случае, когда нужно было обработать nullable-поля, то использовался вот такой метод:
/*
* Taken from: http://stackoverflow.com/questions/209160/nullable-type-as-a-generic-parameter-possible
*/
public static Nullable<T> GetValueOrNull<T>(DataRow row, string key) where T : struct
{
object columnValue = row[key];
if (!(columnValue is DBNull))
return (T)columnValue;
return null;
}
...
int? temp = GetValueOrNull<int>(row, "SomeField");
Оказалось, что есть более простой способ с использованием extension-метода Field<>():
int temp = row.Field<int>("SomeField");
Для класса DataTable есть свой набор полезных расширений
