我对Dapper微型OR/M印象深刻,我真的很想将其用作一些完整的OR/M的伴侣,甚至可能替代它。但我没有找到任何方法来反序列化数据库中的层次结构:例如记录集行的返回对象将取决于字段(在NH中称为“标识符”)。此外,层次结构可以通过联接分割更多的表,因此表示行的类型将取决于其他表中记录的存在。使用上述两种策略混合表示的层次结构是 NH 等不支持的,但“关系生活”中存在。所以问题是:
- Dapper是否处理这种情况?
- 这种情况是否会影响Dapper的性能?
另一个话题是缓存。Dapper查询缓存有点过于激进,难道每个“类似会话的上下文”都有一个查询缓存,这样就好了,还是这会影响Dapper的主要动机?
Func<IDbDataReader, Func<IDbDataReader, Type>>
,然后让 Dapper 处理与现在相同的实例化。reader => reader["type"] == 1 ? typeof(Question):typeof(Answer)
是相当便宜的。 - Sam Saffron