linq2db插入?错误的ColumnMapping

我尝试使用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 result

try

    {

        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结构。


UYOU
浏览 236回答 2
2回答

猛跑小猪

默认情况下,SQL Server列名称不区分大小写,而批量复制则区分大小写。您需要检查数据库中的列名,以及它们是否与C#属性区分大小写-将db名称放入column属性。
打开App,查看更多内容
随时随地看视频慕课网APP