【问题标题】:c# BindingList with Dapperc# BindingList with Dapper
【发布时间】:2021-09-02 13:09:28
【问题描述】:

有人可以帮助了解如何在 winforms c# 中将 BindingList 与 dapper 1.60.6 一起使用

这是我的代码

public BindingList<DisplayTransaction> GetTransactionsBinding()
{
    BindingList<DisplayTransaction> result = new BindingList<DisplayTransaction>();
    string sql = @"select * from transaction";
    result = _conn.Query<DisplayTransaction>(sql).ToList();
    return result;
}

它一直说“无法将类型 'System.Collections.Generic.List' 隐式转换为 'System.ComponentModel.BindingList

我尝试向result = (BindingList&lt;DisplayTransaction&gt;)_conn.Query&lt;DisplayTransaction&gt;(sql); 添加强制转换,但出现运行时错误“对象引用未设置为对象的实例”

【问题讨论】:

    标签: c# winforms dapper bindinglist


    【解决方案1】:

    BindingList 有一个接受List&lt;T&gt;的构造函数

    public BindingList<DisplayTransaction> GetTransactionsBinding()
    {
        string sql = @"select * from transaction";
        var result = _conn.Query<DisplayTransaction>(sql).ToList();
        return new BindingList<DisplayTransaction>(result);
    }
    

    【讨论】:

    • 感谢您的回复,我忘了告诉您“无法将类型 'System.Collections.Generic.List' 隐式转换为 'System.ComponentModel.BindingList" 在这行代码result = _conn.Query&lt;DisplayTransaction&gt;(sql).ToList()
    • 我试过你的代码然后得到运行时错误“对象引用未设置为对象的实例”
    • 哦,我在 sql 之后添加了参数,然后就像魔术一样工作。非常感谢。
    • @ken 您的 cmets 已过时,应删除
    猜你喜欢
    • 1970-01-01
    • 2012-12-12
    • 2012-01-13
    • 2012-04-15
    • 2021-07-10
    • 1970-01-01
    • 2021-11-04
    • 2018-10-24
    • 1970-01-01
    相关资源
    最近更新 更多