使用 Dapper 将存储过程中的字段映射到具有不同名称的类属性

2024-03-12

我从包含许多字段的 POJO 类中摘录了以下内容:

public class Call
{
    public int Id { get; set; }
    public string Customer { get; set; }
    public int StatusId { get; set; }
    public int UserAssignedToId { get; set; }
    public string UserAssignedToName { get; set; }
}

但是,我的存储过程向上面的属性返回不同的名称(在本例中,Id 位于之前:

  • IdCall
  • IdStatus
  • 用户分配给的 ID

这是我用来执行存储过程的代码:

var call = conn.Query<Call>("CallSPName", new { IdCall = callId }, commandType: CommandType.StoredProcedure).First();

如何指定一个映射来表示我希望存储过程中的“IdStatus”映射到 POCO 类中的“StatusId”以及“IdCall”映射到“CallId”等?

我无权更改存储过程,因为它们由 DBA 控制,并且较旧的遗留系统正在使用它们,如果存储过程中的字段发生更改,这些系统就会中断。

任何想法/想法表示赞赏。


我想到的最接近的事情是将私有属性映射到存储过程返回的列,并使用您想要设置和获取这些私有字段的名称来创建公共属性:

// ...
private int IdStatus;
public int StatusId {
    get { return IdStatus; }
    set { IdStatus = value; }
}
// ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Dapper 将存储过程中的字段映射到具有不同名称的类属性 的相关文章

  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • SQL Server 差异工具

    在一个团队中工作时 人们很容易修改开发 SQL Server 表并忘记它 或者准备部署更改但必须等待部署 这使得我们的开发表和活动表不一致 从而在推送存储过程时导致问题 是否有一个工具可以让我输入 SPROC 名称并让它检查开发数据库和实时
  • 与 FOREIGN KEY 约束冲突

    我有两张桌子 学术界 CREATE TABLE dbo R ACADEMIE ID ACADEMIE dbo IDENTIFIANT NOT NULL LC ACADEMIE CODE dbo LIBELLE COURT NOT NULL
  • 使用 Powershell SQL 将数据提取到 Excel

    我想使用 powershell 将数据从 SQL Server 提取到新的 excel 文件 对于小型数据集 我的代码可以工作 但某些表的行数超过 100 000 行 这将需要很长时间 我不在 SQl 服务器中使用该实用程序的原因是因为我想
  • 该驱动程序未配置为集成身份验证

    尝试使用以下命令将我的 Java Web 应用程序与 MS SQL 服务器连接sqljdbc41 for jdk 1 8 这是数据库连接代码 Connection connection String url jdbc sqlserver l
  • 在sql server 2008中插入新记录时如何检查数据库中的值是否已存在

    我创建了一个存储过程 用于从表中选择值 如果该值已经存在 那么它将更新该值 但如果不存在 那么它将插入新值 我为此使用了存储过程 如下所示 Create PROCEDURE dbo sp Insert Tid int NULL Quid i
  • 如何对 SQL Server Express 进行实时更改

    我一直在使用 VS studio 开发一个 ASP NET Web 应用程序 我正在使用 SQL Server Express 在开发过程中 我一直在我的服务器上测试我的网络应用程序 每次我需要更新数据库时 我都会简单地删除旧数据库 位于我
  • 使用 t-sql 检索已过滤的存储过程列表

    我正在尝试获取 t sql 中的存储过程列表 我正在使用该行 exec sys sp stored procedures 我想过滤回结果 所以我只获取用户创建的存储过程 我想过滤掉 sp dt fn xp 以及其他所有我不感兴趣的系统存储过
  • 在 SSIS 中使用合并任务的指南

    我有一个包含三个字段的表 其中一个是身份字段 我需要从具有其他两个字段的源中添加一些新记录 我正在使用SSIS 我认为我应该使用合并工具 因为其中一个源不在本地数据库中 但是 我对合并工具和正确的过程感到困惑 我有一个源 一个 Oracle
  • 在 SQL Server SELECT 语句中使用 CASE 时消除 NULL

    我有一份大而混乱的报告要写 它连接了 5 个表 一个表中有一列用于多个不同的值 本质上是一个 标签 列 其中标签根据用户想要使用的各种元数据的类型以创造性的方式使用 因此 我对报告的查询返回 3 个几乎相同的行 仅 标签 列有所不同 例如
  • SSIS Excel 文件问题 - 创建文件失败

    我有 SSIS 包 可以抓取 excel 文件并将其加载到 sql 表中 运行它时出现以下错误 我尝试将 64 位运行设置为 false 那不起作用 我还安装了 64 位访问驱动程序引擎 这也没有帮助 数据流任务 Excel 源 2 出错
  • 无法通过 SQL Server Management Studio 连接到 SQL Server Linux Docker 容器

    我对 Linux 操作系统很陌生 所以希望这不是一个愚蠢的问题 软件 Windows 10 专业版适用于 Windows 的 Docker 1 13 0 beta38 9805 SQL Server Management Studio v1
  • 使用输出在合并语句中设置变量

    我有一个合并语句应该始终更新或插入一条记录 我想记住变量中该语句的 ID 它看起来像这样 DECLARE int int MERGE dbo table AS A USING SELECT stringtomatch AS string A
  • MySQL 存储过程、Pandas 和“执行多个语句时使用 multi=True”

    注意 正如下面 MaxU 所建议的 该问题特定于 mysql connector 如果您使用 pymysql 则不会出现该问题 希望这可以帮其他人省去一些麻烦 使用Python Pandas 和mySQL 根本无法让存储过程返回结果 更不用
  • SQL Server 全文的自定义断字器

    有谁知道如何为 SQL Server 2005 创建自定义分词系统 我更喜欢用 C 编写它 我需要能够搜索 c f 等术语 但 字符是英语 英国 分词器组件中的分词器 不能以任何其他方式更改 我发现以下文章提供了不完整的示例 缺少 IWor
  • 使用 dtexec 运行 SSIS 包

    我正在使用 dtexec 运行 SSIS 包 该软件包在我的系统上的 BIDS 中运行良好 当我创建 SQL Server 代理作业以按计划运行包时 包运行步骤被安排为 T SQL 任务 而不是 SSIS 包 该作业没有报告错误 但它甚至没
  • SQL最近的命令?微软SQL

    我只是编写一个查询来查看我的客户数据库并列出他们下了多少订单等 我正在努力添加到此查询中的是只显示该电子邮件的最新 OrderID 有任何想法吗 这是我的查询 select top 1000 BuyerEMail COUNT HowMany
  • SQL Server 为什么索引不与 OR 一起使用

    我一直在研究索引并试图了解它们是如何工作的以及如何使用它们来提高性能 但我错过了一些东西 我有下表 Person Id Name Email Phone 1 John E1 P1 2 Max E2 P2 我正在尝试找到对列进行索引的最佳方法
  • 使用 FTS 进行搜索相对于在索引列上使用 LIKE 进行搜索的性能有何提升)?

    质疑 全文搜索sql server 2005 https stackoverflow com questions 3627583 full text search sql server 2005 3824263 3824263 与在索引列上
  • T-SQL - 是否有(免费)方法来比较两个表中的数据?

    I have table a and table b SQL Server 2008 两个表具有完全相同的架构 出于本问题的目的 请考虑table a 我的本地开发表 table b 实时表 我需要创建一个 SQL 脚本 包含UPDATE

随机推荐