有没有办法将实体框架查询结果转换为DataTable
?
或
有没有办法将当代表转换为DataTable
?使用C#
答案 0 :(得分:0)
您可以使用一些反射和泛型来构建DataTable。
例如:
public static DataTable CreateDataTable<T>(IEnumerable<T> entities)
{
var dt = new DataTable();
//creating columns
foreach (var prop in typeof(T).GetProperties())
{
dt.Columns.Add(prop.Name, prop.PropertyType);
}
//creating rows
foreach (var entity in entities)
{
var values = GetObjectValues(entity);
dt.Rows.Add(values);
}
return dt;
}
public static object[] GetObjectValues<T>(T entity)
{
var values = new List<object>();
foreach (var prop in typeof(T).GetProperties())
{
values.Add(prop.GetValue(entity));
}
return values.ToArray();
}