Dapper 是否支持 POCO 中的 c#6 只读属性?

Does Dapper support c# 6 read-only properties in POCOs?

鉴于以下情况:

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 是否处理填充返回的 SomePoco 个实例上的 IntValue 字段?

否,因为如果 属性 只有 getter,Dapper 无法设置 属性 的值。

好问题!这不是我所针对的场景,但我非常乐意了解其中涉及的内容。由于我们已经做了很多讨厌的反思,这仍然是可行的。作为 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";
}