Я записал уровни доступа к данным, компоненты персистентности и даже мой собственный ORMs в сотнях приложений за эти годы (одно из моих "хобби"); я даже реализовал свой менеджер транзакций собственного дела (обсужденный в другом месте на ТАК).
инструменты ORM были вокруг в течение долгого времени на других платформах, таких как Java, Python, и т.д. Кажется, что существует новый популярный товар теперь, когда центральные Microsoft команды обнаружили их. В целом, я думаю, что это - хорошая вещь - необходимый шаг в поездке, чтобы исследовать и постигать понятие архитектуры и дизайна, который, кажется, был представлен наряду с прибытием.NET.
Нижняя строка: Я всегда предпочитал бы делать свой собственный доступ к данным, а не бороться с некоторым инструментом, который пытается "помочь" мне. Никогда не приемлемо бросить мое управление моей судьбой, и доступ к данным является критической частью судьбы моего приложения. Некоторые простые принципы делают доступ к данным очень управляемым.
Использование фундаментальные понятия модульного принципа, абстракции и инкапсуляции - поэтому переносят доступ основных данных Вашей платформы API (например, ADO.NET) с Вашим собственным слоем, который повышает уровень абстракции ближе до Вашего пространства задач. НЕ кодируйте весь свой доступ к данным НЕПОСРЕДСТВЕННО против того, что API (также обсудил в другом месте на ТАК).
Сильно применяются, DRY (не Повторяйте Себя), принцип = осуществляет рефакторинг дневные светы из Вашего кода доступа к данным. Используйте генерацию кода в надлежащих случаях в качестве средства рефакторинга, но стремитесь избавить от необходимости генерацию кода каждый раз, когда Вы можете. Обычно генерация кода показывает, что что-то отсутствует в Вашей среде - дефицит языка, разработанный - в ограничении инструмента, и т.д.
Между тем, учится использовать доступный API хорошо, особенно относительно производительности и устойчивости, затем включать те уроки на Ваш собственный абстрактный уровень доступа к данным. Например, учитесь делать надлежащее использование параметров в Вашем SQL вместо того, чтобы встроить литеральные значения в строки SQL.
Наконец, имейте в виду, что любое приложение/система, которое становится успешным, вырастет для обнаружения с проблемами производительности. Решение проблем производительности полагается больше на разработку их вместо того, чтобы просто "настроить" что-то в реализации. Та дизайнерская работа будет влиять на базу данных и приложение, которое должно измениться в синхронизации. Поэтому стремитесь смочь делать такие изменения легко (гибкими), а не попытаться избежать постоянно меняющийся само приложение. Частично, это в конечном счете означает способность развернуть изменения без времени простоя. Не трудно сделать, если Вы не "разрабатываете" далеко от него.
Если вы используете gvim, разве вы не можете выполнить эту команду?
:set linespace=5