c# - SqlBulkTools - 更新

当我尝试运行时,出现此错误:

System.Data.SqlClient.SqlException: 'The definition for column 'Column' must include a data type

但我在“业务”类中定义了变量类型

public void import (String TXT_T_NEG, String TXT_ACAO, String TXT_ESPEC_PAPL, String Txt_num_neg, String Id_usr)
{
        lista.Add (new business(TXT_T_NEG, TXT_ACAO, TXT_ESPEC_PAPL, Txt_num_neg, Id_usr)
}

public void bulkupdate ()
{
        var bulk = new BulkOperations ();

        using (TransactionScope trans = new TransactionScope ())
        {
            using (SqlConnection cone = new SqlConnection (@"Myconnection"))   
            {
                bulk.Setup <business> ()
                .ForCollection (lista)
                .WithTable ("table")
                .AddColumn (x => x.Txt_t_neg)
                .AddColumn (x => x.Txt_acao)
                .AddColumn (x => x.Txt_espec_papl)
                .BulkUpdate ()
                .MatchTargetOn (x => x.Txt_num_neg)
                .MatchTargetOn (x => x.Id_usr)
                .Commit (cone);
            }
            trans.Complete ();
        }
}

最佳答案

当您的类中的属性名称与相应的数据库列之间存在差异时,将引发此异常。该库查询表模式,然后使用它来构建临时表,但如果列名和属性名不匹配,则临时表创建语句将失败,因为它无法指定正确的数据类型。

在这种情况下,如 library documentation 中所述,您必须通过提供列名来定义自定义映射,例如

.AddColumn(x => x.Id_usr, "Id")

https://stackoverflow.com/questions/62562474/

相关文章:

javascript - 为什么外部 javascript 文件不工作 Rails 6?

reactjs - 应用多个动态过滤器

python - CondaEnvException : Pip failed. 尝试使用 .yml

javascript - 为什么 useState 不在单元测试(Jest、Enzyme)中重新渲染

android - 使用 Moshi 处理错误响应

node.js - 如何在 Strapi 中创建不同的管理员角色

flutter - 无法在 flutter 中使用wifi包连接到wifi

c# - 如何以编程方式授予虚拟用户对文件夹(或文件)的权限

python - 实现函数的优化和非优化版本的最简洁方法?

angular-cli - 每当我运行 npm run ng build-hin 时,我都会遇到错误