为了账号安全,请及时绑定邮箱和手机立即绑定

linq2db插入?错误的ColumnMapping

linq2db插入?错误的ColumnMapping

C#
UYOU 2021-03-30 21:18:28
我尝试使用linq2db插入数据吗?但出现错误表类[Table(Schema="inf", Name="InformMessageLog")]public partial class InformMessageLog{    [Identity             ] public int      ID             { get; set; }// int     [Column,   NotNull    ] public DateTime Date           { get; set; } // datetime    [Column,   NotNull    ] public int      StudentID      { get; set; }// int     [Column,      Nullable] public string   ContactName    { get; set; } // nvarchar(max)    [Column,      Nullable] public string   ContactPhone   { get; set; } // nvarchar(max)    [Column,      Nullable] public string   ContactMail    { get; set; }// nvarchar(max)     [Column,   NotNull    ] public string   EventPoint     { get; set; } // nvarchar(50)    [Column,   NotNull    ] public string   Template       { get; set; } // nvarchar(max)    [Column,   NotNull    ] public string   Link           { get; set; } // nvarchar(100)    [Column,   NotNull    ] public string   Status         { get; set; } // nvarchar(100)    [Column,      Nullable] public bool?    TechnicalError { get; set; } // bit    [Column,      Nullable] public string   CampaingId     { get; set; } // nvarchar(max)}我的密码List<InformMessageLog> result = new List<InformMessageLog>();result = ....; //form list resulttry    {        using (var db = new IntegrationSqlDbDB())        {            db.BulkCopy(result);        }        return req.CreateResponse(HttpStatusCode.OK, result);    }    catch (Exception e)    {        loger.LogError("Failed to set log from db " + e.Message);    }结果数据[  {    "ID": 1,    "Date": "2018-04-13T00:00:00+00:00",    "StudentID": 76769,    "ContactName": "XXXXXXX XXXXXXX",    "ContactPhone": "-",    "ContactMail": "XXX@mail.ru",    "EventPoint": "loyality",    "Template": "1806123",    "Link": "unisender",    "Status": "-",    "TechnicalError": false,    "CampaingId": "1594676730"  }]错误给定的ColumnMapping与源或目标中的任何列都不匹配。我检查了所有类型并复制了列名称,但问题仍然存在。ID栏可能有问题吗?如何正确将其传递给bulkCopy结构。
查看完整描述

2 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

默认情况下,SQL Server列名称不区分大小写,而批量复制则区分大小写。您需要检查数据库中的列名,以及它们是否与C#属性区分大小写-将db名称放入column属性。


查看完整回答
反对 回复 2021-04-17
  • 2 回答
  • 0 关注
  • 234 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信