我尝试使用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属性。
- 2 回答
- 0 关注
- 234 浏览
添加回答
举报
0/150
提交
取消