c# - Dapper ORM - 插入具有现有 ID 的对象

标签 c# sql-server dapper

我从返回此对象的 API 获取数据:

{
  "status": "success",
  "message": "Sucesso",
  "count": 2,
  "items": [
    {
      "id": 18476,
      "date": "2020-12-25",
      "name": "John Doe",
      "phone": "11111111111",
      "text": "Teste de homologação DJN em produção.",
      "process": "00100522320208220501",
      "type": "D"
    }
  ]
}
当我尝试将它插入数据库时​​,我得到的字段“id”等于 NULL。
using (var connection = new SqlConnection(Helper.GetConnectionString("cnn")))
{
    connection.Open();
    var identity = connection.Insert(my_object);
}
使用的“connection.Insert()”方法来自 Dapper Contrib Extensions .

最佳答案

我发现你只需要使用这个注解:[ExplicitKey]之前Id field 。
Reference

using Dapper.Contrib.Extensions;
using System;
using System.Collections.Generic;

//...

[Table("your_table")]
public class Publicacao
{
        [ExplicitKey]
        public long Id { get; set; }
        public DateTime Date { get; set; }
        public string Name{ get; set; }
        public string Phone { get; set; }
        public string Text { get; set; }
        public string Process { get; set; }
        public string Type { get; set; }
}

关于c# - Dapper ORM - 插入具有现有 ID 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65452831/

相关文章:

dapper - 为什么 Dapper 在有/没有迷你分析器连接的情况下为 Postgres 生成不同的 SQL

c# - 将 Dapper MultiMapper 与外连接查询结合使用

c# - MDT EventRegister nuget 以代码 1 退出

c# - 如何优化并使其更具可读性

c# - 如何在 c# 中查看对服务引用的传入响应的完整 SOAP 响应(包括 header )?

sql-server - Node js knex 和 mssql 错误 - 'TypeError: _this.driver.Connection is not a constructor'

c# - 从 C# 生成 excel 时出错

sql-server - Microsoft SQL Server 2008 R2 安装程序 MOF 编译器无法与 WMI 服务器连接

sql-server - SQL Server : converting UniqueIdentifier to string in a case statement

c# Dapper - 在 QueryAsync 方法上使用 linq