根据我正在处理的一些代码,情况似乎如此。我在dapper documentation中找不到明确表示它不适用于具有自定义get / set逻辑的成员的任何内容,但我确实看到了这个例子:
public class Dog
{
public int? Age { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }
public float? Weight { get; set; }
public int IgnoredProperty { get { return 1; } } //red flag?
}
似乎事实上,具有自定义获取行为的一个成员以Ignored
为前缀可能表明Dapper不会尝试填充这些值。这是真的?这是在文档中,我只是忽略了它?
答案 0 :(得分:9)
dapper忽略那个的原因是它没有setter 。它并不关心你的属性是如何在内部实现的,但需要一个setter来使用一个属性(尽管setter不必是公共的)。
它也可以使用字段作为旁白。