gpt4 book ai didi

.net - 无法使 Dapper 查询映射不区分大小写

转载 作者:行者123 更新时间:2023-12-04 16:44:51 29 4
gpt4 key购买 nike

string query = $@"SELECT m.* FROM Table1";   
return await dbConnection.QueryAsync<Job>();

在 Oracle 数据库表 Table1 中包含许多列,我不想指定所有列。列以 UPPERCASE 形式返回,但在 .NET 中我们使用 CamelCase(IsActive 等)。结果,大写列永远不会在代码中映射到 CamelCase。(实际上查询更复杂,还有一些自定义 map 和 splitOn 选项)。

是否可以用 Dapper 解决?

最佳答案

Dapper 的 SqlMapper 应该不区分大小写

你可以用它来测试:

public class Result
{
public int Id { get; set; }
public string Value { get; set; }
}

[TestFixture]
public class Tests
{
[Test]
public async Task TestCaseSensitivity()
{
using (var conn = new SqlConnection(@"Data Source=.\sqlexpress; Integrated Security=true; Initial Catalog=test"))
{
var result = await conn.QueryFirstAsync<Result>("select ID = 1, VALUE = 'hello world'");
Assert.That(result.Id, Is.EqualTo(1));
Assert.That(result.Value, Is.EqualTo("hello world"));
}
}
}

关于.net - 无法使 Dapper 查询映射不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50563487/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com