相关疑难解决方法(0)

如何从Dapper查询而不是默认(T)返回null?

我正在使用Dapper通过存储过程进行一些只读数据库调用.我有一个查询将返回1行或没有.

我正在使用这样的Dapper:

using (var conn = new SqlConnection(ConnectionString))
{
    conn.Open();

    return conn.Query<CaseOfficer>("API.GetCaseOfficer", 
        new { Reference = reference }, 
        commandType: CommandType.StoredProcedure).FirstOrDefault();
}
Run Code Online (Sandbox Code Playgroud)

返回的CaseOfficer对象如下所示:

public class CaseOfficer
{
    public string Title { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }
    public string Telephone { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然后通过ASP.NET Web API应用程序将其作为JSON返回.

当存储过程返回结果时,我得到以下内容:

{
    title: "Mr",
    firstName: "Case",
    lastName: "Officer",
    email: "test@example.com",
    telephone: "01234 567890" …
Run Code Online (Sandbox Code Playgroud)

c# null stored-procedures dapper

7
推荐指数
1
解决办法
1万
查看次数

更改Dapper,以便将数据库空值映射到double.NaN

我的SQLite数据库中有一个可以为空的双列.

从数据库读取时(对于double类型的列),我想将空值转换为"double.NaN".

目前dapper将空值设置为0,这是我不想要的.

我有什么选择?

  1. 修改Dapper源代码.
  2. 不能用Dapper,需要用老式的方式编写自己的ADO.NET代码吗?
  3. 改变我调用cnn.Query方法的方式,修改映射发生的方式.

我的第一选择是选项1,但我需要帮助修改Dapper.

.net sqlite ado.net dapper

2
推荐指数
1
解决办法
2911
查看次数

标签 统计

dapper ×2

.net ×1

ado.net ×1

c# ×1

null ×1

sqlite ×1

stored-procedures ×1