实体怎么转换为datatable,不是集合,是单个实体
时间: 2024-03-13 13:43:56 浏览: 18
将单个实体转换为C# DataTable可以使用以下代码:
```csharp
public static DataTable ConvertEntityToDataTable<T>(T obj)
{
DataTable dataTable = new DataTable();
foreach (PropertyInfo propertyInfo in typeof(T).GetProperties())
{
dataTable.Columns.Add(propertyInfo.Name, Nullable.GetUnderlyingType(propertyInfo.PropertyType) ?? propertyInfo.PropertyType);
}
DataRow row = dataTable.NewRow();
foreach (PropertyInfo propertyInfo in typeof(T).GetProperties())
{
row[propertyInfo.Name] = propertyInfo.GetValue(obj) ?? DBNull.Value;
}
dataTable.Rows.Add(row);
return dataTable;
}
```
该方法将实体的属性作为DataTable的列,将实体的属性值作为DataTable的行。需要注意的是,该方法只能转换单个实体,如果要转换多个实体,需要使用上面提到的ConvertListToDataTable方法。