基于我正在使用的一些代码,似乎就是这种情况.我在dapper文档中找不到任何明确表示它不适用于具有自定义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?
}
Run Code Online (Sandbox Code Playgroud)
事实上,具有自定义获取行为的一个成员带有前缀Ignored可能表明Dapper不会尝试填充这些值.这是真的?这是在文档中,我只是忽略了它?
dapper会忽略那个原因的原因是它没有setter.它并不关心你的属性是如何在内部实现的,但它需要一个setter来使用一个属性(尽管setter不必是公共的).
它也可以使用字段作为旁白.