我是Petapoco的新手,我可以在petapoco ORM中使用存储过程以Datatable的形式检索表数据吗?我尝试在谷歌,但我没有从google.Any得到任何答案,一个知道吗?
发布于 2018-10-17 14:56:41
步骤1:
public DataTable ListToDataTable(IList list)
{
var dt = new DataTable();
if (list.Count <= 0) return dt;
var properties = list[0].GetType().GetProperties();
foreach (var pi in properties)
{
dt.Columns.Add(pi.Name, Nullable.GetUnderlyingType(pi.PropertyType) ?? pi.PropertyType);
}
foreach (var item in list)
{
DataRow row = dt.NewRow();
properties.ToList().ForEach(p => row[p.Name] = p.GetValue(item, null) ?? DBNull.Value);
dt.Rows.Add(row);
}
return dt;
}第2步:
var list = db.Fetch<dynamic>(sql);
var dt = ListToDataTable(list);发布于 2017-07-07 02:23:21
是的,您可以使用Petapoco执行存储过程。
示例:
var result = db.Fetch<dynamic>(";EXEC GetSomething @@Year = @0", 2017);Petapoco返回一个List<T>,我建议您使用List而不是Datatable,但如果您愿意,您可以使用convert your list to a Datatable
https://stackoverflow.com/questions/44948595
复制相似问题