Мы используем его для нашего многофункционального клиентского приложения, и у нас не так много проблем с ним.Вы должны немного изменить свое мышление - но нам действительно понравились классы моделей (вместо того, чтобы использовать созданный вручную sql).
- Я бы очень задумался над вашим мнением относительно быстрой загрузки.Я бы попытался разработать приложение с отложенной загрузкой, и если у вас возникли проблемы с ним, попробуйте перейти к активной загрузке.Создание «просмотра объектов данных» и сопоставление сущностей базы данных с этим может помочь с проблемами отложенной загрузки (Айенде Рахин много писал об этих вещах - вы можете проверить его блог: http://ayende.com/blog - хорошим стартером может быть его статья в MSDNhttp://msdn.microsoft.com/en-us/magazine/ee819139.aspx)
- несанкционированные DLL - у меня на самом деле нет мнения на этот счет
- другие последствия - вам нужно думать об управлении сессиями, так как это не так просто, как с серверными приложениями- это было самым большим изменением для нас. Но, с другой стороны, вы освобождаетесь от проблем «уже есть считыватель данных, связанный с этим соединением».
Управление сеансами в целом может быть слишком сложным.Начнем, так что я думаю, что вы должны начать с хорошей структуры - как показано в статье Айенде. Если вам не нравится этот подход, вы можете попробовать "тонкий" ORM, такой как Dapper: http://code.google.com/p/dapper-dot-net/