Я действительно впечатлен Dapper micro OR/M, я действительно хотел бы использовать его как бок о бок со спутниками некоторых полноценных OR/M, и я должен быть вместо этого. Я вообще не понял, есть ли стратегия десериализации иерархии из db: например, возвращенный объект для строки набора записей будет зависеть от поля (например, так называемого «дискриминатора» в NH). Кроме того, иерархия может разделить больше таблицы через соединение, поэтому тип, представляющий строку, будет зависеть от существования записи в другой таблице. Наличие иерархии, представленной смесью вышеупомянутой стратегии, было бы тем, что NH, например, не поддерживает, но существует в «реляционной жизни». Таким образом, вопросы:с использованием dapper для замены полноценного OR/M
- ли Dapper обрабатывать такой сценарий?
- ли этот сценарий ослабит усилия Даппера с точки зрения производительности?
Другая тема - кеширование. Кэш Dapper для запросов немного агрессивный, не лучше иметь некоторый «сеансовый контекст» и иметь кэш запросов для каждого сеанса, или это снова оскорбит основные мотивы Dapper?
Спасибо! Я согласен с кешем, используя/просматривая код, я думаю, что нет реальной необходимости иметь еще один. У меня будет проблема с подклассом, если я перейду от NH к dapper для моего следующего проекта, я постараюсь решить, возможно, имея статический метод в POCO с введенными параметрами из десериализатора? –
лично я предпочитаю объяснение заводского локатора над конвенцией для этого случая –
не сильно ли это ухудшает производительность? –