首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Datatable的Petapoco

使用Datatable的Petapoco
EN

Stack Overflow用户
提问于 2017-07-06 20:14:09
回答 2查看 1.1K关注 0票数 0

我是Petapoco的新手,我可以在petapoco ORM中使用存储过程以Datatable的形式检索表数据吗?我尝试在谷歌,但我没有从google.Any得到任何答案,一个知道吗?

EN

回答 2

Stack Overflow用户

发布于 2018-10-17 14:56:41

步骤1:

代码语言:javascript
复制
    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步:

代码语言:javascript
复制
    var list = db.Fetch<dynamic>(sql);
    var dt = ListToDataTable(list);
票数 1
EN

Stack Overflow用户

发布于 2017-07-07 02:23:21

是的,您可以使用Petapoco执行存储过程。

示例:

代码语言:javascript
复制
var result = db.Fetch<dynamic>(";EXEC GetSomething @@Year = @0", 2017);

Petapoco返回一个List<T>,我建议您使用List而不是Datatable,但如果您愿意,您可以使用convert your list to a Datatable

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44948595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档