LINQ から SQL にデータテーブルを返すメソッドがあります
私は
public static DataTable LinqToDataTable<T>(IEnumerable<T> source)
{
DataTable output = new DataTable();
try
{
PropertyInfo[] properties = typeof(T).GetProperties();
foreach (var prop in properties)
{
output.Columns.Add(prop.Name, Nullable.GetUnderlyingType(
prop.PropertyType) ?? prop.PropertyType);
}
foreach (var item in source)
{
DataRow row = output.NewRow();
foreach (var prop in properties)
{
row[prop.Name] = prop.GetValue(item, null) ?? DBNull.Value;
}
output.Rows.Add(row);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return output;
}
私の問題は、DateTime フィールドのいずれかが null の場合、このメソッドは例外をスローすることです。
The null value cannot be assigned to a member with type System.DateTime which is a non-nullable value
タイプ。
エラーを修正する方法。誰か助けてください