鉴于以下内容:
public class SomePoco {
public int IntValue { get; }
}
和
CREATE TABLE SomePocoStorage (IntValue INT NOT NULL)
和
INSERT SomePocoStorage VALUES (1), (274)
如果我打电话
connection.Query<SomePoco>("SELECT * FROM SomePocoStorage")
Dapper是否会在返回的IntValue
个实例上填充SomePoco
字段?
答案 0 :(得分:10)
好问题!这不是我所针对的情景,但我很乐意看看会涉及到什么。由于我们已经做了很多讨厌的反思,这仍然可行。作为一个github问题可能更好,但我会看看。
更新 - it does now(目前仅通过回购 - 未部署):
[Fact] // passes
public void GetOnlyProperties()
{
var obj = connection.QuerySingle<HazGetOnly>(
"select 42 as [Id], 'def' as [Name];");
obj.Id.IsEqualTo(42);
obj.Name.IsEqualTo("def");
}
class HazGetOnly
{
public int Id { get; }
public string Name { get; } = "abc";
}
答案 1 :(得分:0)
否,因为如果该属性只有一个getter,则Dapper无法设置该属性的值。