我可以为 dapper-dot-net 映射指定数据库列名称吗?

2024-03-21

dapper-dot-net 有没有办法使用属性来指定应该使用的列名称而不是属性名称?

public class Code
{
    public int Id { get; set; }
    public string Type { get; set; }
    // This is called code in the table.
    public string Value { get; set; }
    public string Description { get; set; }
}

我希望能够为我的属性命名,无论我选择什么。我们的数据库没有一致的命名约定。

如果没有 dapper,还有其他类似的选项吗?


您还可以查看简洁的扩展 https://github.com/tmsmith/Dapper-Extensions.

Dapper Extensions 是一个小型库,通过添加 POCO 的基本 CRUD 操作(获取、插入、更新、删除)。

它有一个自动类映射器 https://github.com/tmsmith/Dapper-Extensions/wiki/AutoClassMapper,您可以在其中指定自定义字段映射。例如:

public class CodeCustomMapper : ClassMapper<Code>
{
    public CodeCustomMapper()
    {
        base.Table("Codes");
        Map(f => f.Id).Key(KeyType.Identity);
        Map(f => f.Type).Column("Type");
        Map(f => f.Value).Column("Code");
        Map(f => f.Description).Column("Foo");
    }
}

然后你只需要做:

using (SqlConnection cn = new SqlConnection(_connectionString))
{
    cn.Open();
    var code= new Code{ Type = "Foo", Value = "Bar" };
    int id = cn.Insert(code);
    cn.Close();
}

请记住,您必须将自定义映射与 POCO 类保存在同一程序集中。该库使用反射来查找自定义映射,并且仅扫描一个程序集。

Update:

您现在可以使用 SetMappingAssemblies 注册要扫描的程序集列表:

DapperExtensions.SetMappingAssemblies(new[] { typeof(MyCustomClassMapper).Assembly });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以为 dapper-dot-net 映射指定数据库列名称吗? 的相关文章

  • 从 Invoke 方法获取 RETURN

    我正在尝试从另一个线程上的列表框项目中读取值 我尝试创建一种新方法来运行调用命令 我可以设法将命令发送到列表框 例如通过调用方法添加 但我似乎无法得到响应 我似乎无法获取该项目的值 我尝试了几种方法 一旦我将它从空变为字符串 事情就开始变得
  • C# 和月历,选择多个日期

    我正在制作一个程序 可以帮助人们用 C 为某个部门 预订 订单 他们需要能够选择不同月份的多个日期 我更愿意拥有它 这样他们就可以单击一个日期 然后按住 Shift 键单击另一个日期以选择这两个日期之间的所有日期 并控制单击以进行单选 取消
  • 如何查明 .exe 是否正在 C++ 中运行?

    给定进程名称 例如 程序 exe C 标准库没有这样的支持 您需要一个操作系统 API 来执行此操作 如果这是 Windows 那么您将使用 CreateToolhelp32Snapshot 然后使用 Process32First 和 Pr
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 类中是否可以有虚拟类声明?

    我正在为个人项目中框架的各个组件设置一个接口 我突然想到了一些我认为可能对接口有用的东西 我的问题是这是否可能 class a public virtual class test 0 class b public a public clas
  • Riak 在 MapReduce 查询中失败。使用哪种配置?

    我正在与 riak riak js 结合开发一个 nodejs 应用程序 并遇到以下问题 运行此请求 db mapreduce add logs run 正确返回存储在存储桶日志中的所有 155 000 个项目及其 ID logs 1GXt
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 如何在 EF Core 2.1 中定义外键关系

    我的 DAL 使用 EF Core 2 1 这就是我的模型的样子 一名用户只能拥有一种角色 Role entity kind of master public class Role public int RoleId get set pub
  • 在 C++ 代码 gdb 中回溯指针

    我在运行 C 应用程序时遇到段错误 在 gdb 中 它显示我的一个指针位置已损坏 但我在应用程序期间创建了 10 万个这样的对象指针 我怎样才能看到导致崩溃的一个 我可以在 bt 命令中执行任何操作来查看该指针的生命周期吗 谢谢 鲁奇 据我
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • 选择 asp.net CheckBoxList 中的所有项目

    ASP NET 和 C 我想要一个带有 全选 项目的复选框列表 当这个特定项目是 已选择 所有其他都将被选择 也 当选择被删除时 这个项目 也将来自所有人 其他物品 选中 取消选中 任何其他项目只会有一个 对特定项目的影响 无论选择状态如何
  • 用数组或向量实现多维数组

    我想使用单个数组或向量实现多维数组 可以像通常的多维数组一样访问它 例如 a 1 2 3 我陷入困境的是如何实施 操作员 如果数组的维数为 1 则 a 1 应该返回位于索引 1 处的元素 但是如果维数大于一怎么办 对于嵌套向量 例如 3 维
  • 如何调用与现有方法同名的扩展方法? [复制]

    这个问题在这里已经有答案了 我有这样的代码 public class TestA public string ColA get set public string ColB get set public string ColC get se
  • 当 Verb="runas" 时设置 ProcessStartInfo.EnvironmentVariables

    我正在开发一个 C 应用程序 我需要创建变量并将其传递给新进程 我正在使用ProcessStartInfo EnvironmentVariables 新进程必须提升运行 因此我使用 Verb runas var startInfo new
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • 初始化列表在 VC10 中不起作用

    我在 VC 2010 中编写了这个程序 class class1 public class1 initializer list
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到

随机推荐

  • 什么是 Ruby <=>(宇宙飞船)运算符?

    什么是红宝石 lt gt 宇宙飞船 操作员 该运算符是否由其他语言实现 The 宇宙飞船操作员 https ruby doc org core 3 0 0 Comparable html将返回1 0 or 1取决于左参数相对于右参数的值 a
  • Qt 且没有 moc_*.cpp 文件

    我正在开发一个简单的 Qt 4 应用程序并制作自己的对话框 我子类化了QDialog 插入Q OBJECT类声明块中的宏 并且 我明白了 链接器错误 未定义对 MyDialog vtable 的引用 并且没有 moc MyDialog cp
  • django-mssql 无法在 Apache 中使用 mod_wsgi 工作,但在开发服务器中工作正常

    我有一个 Django 应用程序 使用 django mssql 与 SQL Server 进行通信 这在开发服务器 runserver 中工作得很好 但在 Apache mod wsgi 下 我在尝试查找确实存在的 dll 时遇到了与它相
  • 在 UWP 中创建文件和文件夹

    我查看了很多 stackoverflow 帖子和文章 但仍然无法在 UWP 中创建文件 在 WPF 中这确实很容易 但 UWP 的工作方式有所不同 我在清单文件中添加了以下内容
  • 数据库独立的行级安全解决方案

    有人知道 Java C 数据库独立授权库吗 该库应支持跨公司组织结构的读 写 删除 插入操作 像这样的东西 用户可以查看所有文档 用户可以输入分配给他的单位的新文档 用户可以更改分配给他的单位和所有下属单位的所有文档 用户可以删除分配给他的
  • 计算存储过程的结果

    我有一个返回 ID 名称 描述的存储过程 并且不接受任何输入参数 但是 我对得到多少结果感兴趣 我期待这样的工作 SELECT COUNT FROM EXEC MyStoredProcedure 但我在 Sql Server Managem
  • LVDiff 在 Git 中不起作用

    我正在尝试从元差异套件中获取 lvdiff 以与 Git 一起使用 我的 gitconfig 看起来像这样 gui recentrepo C Users Tanner Desktop FIRST 2010 Beta Java LoganRo
  • GPS定位无服务

    我是一名新开发人员 有一个简单的问题 我已经四处搜索 但尚未找到明确的答案 简而言之 我正在开发一个需要能够使用 GPS 的应用程序 然而 诀窍是我想使用 GPS 来获取手机的位置 即使它们没有运营商服务 话虽如此 我有两个问题 是否可以通
  • 未经授权暴露hangfire

    有没有办法在 IIS 中公开 Hangfire 而无需配置授权 在这种特定情况下 仪表板应该打开 但在访问它时 不是在调试中 它会返回 401 代码 我认为你应该能够编写一个自定义实现IDashboardAuthorizationFilte
  • 如何动态插入Vue组件?

    许多面板 产品 以多行和多列的形式显示在一个页面中 我使用的是 Vue 2 面板是组件 现在 单击一个面板时 我想在该面板的行下方显示该面板的详细信息 这与谷歌图像搜索类似 例如 在上图中 如果我单击 s1 s2 或 s3 中的任何一个 大
  • 如何使用多个$条件对查询进行分组?

    我想像下面这样查询 但这只包含一个 cond 如何查询两个 cond collection aggregate match id in ids group id someField count sum cond eq otherField
  • 产生随机波函数

    我需要在 matplotlib 中生成一条随机曲线 例如 我的 x 值是从 1 到 1000 我不想生成分散的随机 y 值 我需要一条平滑的曲线 就像某种非常扭曲的正弦曲线 具有不同的幅度和波长 是否已经存在一些东西可以让我轻松地做到这一点
  • 如何从 gWidget 和处理程序返回值?

    我正在尝试为 R 包开发 GUI 使用 gWidgets 我的计划是构建一个保存数据的主窗口 并使用按钮为每个函数调用小型 gui 包装器 不幸的是 我陷入了一个基本 问题 我不知道如何传输数据 问题 如何在不同的窗口之间正确发送数据 如何
  • 让聊天机器人 (wit.ai) 回复它没有正确的答案

    我在用Wit ai对于我的聊天机器人 问题是我的机器人总是试图回答一些问题 只有当我的机器人真正理解所问的内容时 我才会做出回答 我知道这是可能的 但如果我有一个回复很少的机器人 它似乎总是选择其中一个回复 即使它被问到完全不同的问题 我想
  • 连接到 docker-compose mysql 容器拒绝访问,但运行相同映像的 docker 不会

    我在连接到使用 docker compose 启动的 mysql docker 容器时遇到一些问题 这是一篇很长的文章 抱歉 这是我的 docker compose yml 文件 db image mysql 5 7 ports 3306
  • 为什么静态链接的可执行文件中有全局偏移表和过程链接表?

    我已经阅读了大量有关动态链接器重定位和位置无关代码的内容 包括过程链接表和全局偏移表 我不明白为什么静态链接的可执行文件需要 PLT 和 GOT 我在 ubuntu x86 64 机器上编译了一个 hello world 程序 当我转储节标
  • 在 Linux Mint 上安装 pyttsx3

    我成功安装了 pyttsx3pip install pyttsx3我写了以下代码 import pyttsx3 def speak text engine pyttsx3 init engine say text engine runAnd
  • 如何避免 GUI 控件和域对象之间的并行继承层次结构

    我正在用 C 开发 Windows 窗体应用程序 我正在使用 MVP 设计模式 在 GUI 中 用户可以操作打印机对象 并且需要有自定义控件来向用户表示打印机对象 有一个代表打印机的类层次结构 底层有一个抽象 Printer 类 然后是一个
  • 为 iOS 5.0 编译时,什么会导致“未找到符号:_objc_setProperty_atomic”错误?

    我在 IOS 5 中遇到编译错误 我得到的错误是 wait fences failed to receive reply 10004003 dyld lazy symbol binding failed Symbol not found o
  • 我可以为 dapper-dot-net 映射指定数据库列名称吗?

    dapper dot net 有没有办法使用属性来指定应该使用的列名称而不是属性名称 public class Code public int Id get set public string Type get set This is ca