2016-12-12 48 views
1

C#アプリケーション(私は現在ほとんどの場所でEntityを使用しています)でDapperを使い始めていますが、単純なクエリで問題が発生しています。Dapper ...スカラー変数を宣言する必要があります

私はスカラー変数 '@ReportId'を宣言する必要がありますが、宣言しています。

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 { 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 }); 

は私のクラスです!

+2

このコードは私にはうまく見えます。投稿されたコードが例外を生成していますか? – Shyju

+1

'data.id'がNOT NULLになっていますか? –

+0

はい、nullではありません。私はデバッガでテストしました。私は今すぐダブルチェックして、画像を投稿します – Jacob

答えて

1

明らかに、私は完全な脳のおならがあり、間違った行を見ていました。私はこれに変更して動作します:

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 
    }); 
関連する問題