Dapper ...必须声明标量变量

Dapper... Must declare the scalar variable

我开始在 C# 应用程序中使用 Dapper(我目前在大多数地方使用 Entity),但我遇到了一个简单查询的问题。

我一直回来 "Must declare scalar variable '@ReportId'" 但我要宣布它!

db.Execute(@"INSERT INTO cdr_Requests (ReportId, ReportName, StartTime, EndTime, Status, ReportUrl, CreatedAt, UpdatedAt, Timezone, CdrReportRead) VALUES (@ReportId, @ReportName, @StartTime, @EndTime, @Status, @ReportUrl, @CreatedAt, @UpdatedAt, @Timezone, @CdrReportRead)", new { data.id, data.report_name, data.start_time, data.end_time, data.status, data.report_url, data.created_at, data.updated_at, data.timezone, data.cdrreportread });

这是我的 class:

    public class cdr_Request
    {
        public int ID { get; set; }

        public string ReportId { get; set; }

        public string ReportName { get; set; }
    }

我只是无法弄清楚发生了什么!

好吧,显然我脑袋放屁了,看错了线。我改成这个并且有效:

db.Execute(@"INSERT INTO cdr_Requests (ReportId, ReportName, StartTime, EndTime, Status, ReportUrl, CreatedAt, UpdatedAt, Timezone, CdrReportRead) 
    VALUES (@ReportId, @ReportName, @StartTime, @EndTime, @Status, @ReportUrl, @CreatedAt, @UpdatedAt, @Timezone, @CdrReportRead)", new {
     ReportId = data.id,
     ReportName = data.report_name,
     StartTime = data.start_time,
     EndTime = data.end_time,
     Status = data.status,
     ReportUrl = data.report_url,
     CreatedAt = data.created_at,
     UpdatedAt = data.updated_at,
     Timezone = data.timezone,
     CdrReportRead = 0
    });

以防万一任何 F# peep 遇到 'must declare the scalar variable issue' - 通常原因是您在私有模块中声明了参数记录。例如

module private MyStuff =
    type Params = { MyParam : int }

您只需移动类型或de-private模块。