Предположим, мы собираемся запустить новый проект - приложение, содержащее некоторую бизнес-логику, пользовательский интерфейс в ASP.NET, WPF или оба из них. Мы хотели бы использовать генератор кода ORM или DAL и реализовать нашу бизнес-логику в классах .NET. Существует несколько основных способов выражения наших идей в области бизнеса:
- Реализация бизнес-классов в .NET и позволить ORM генерировать соответствующую схему базы данных
- Создание схемы базы данных вручную и создание классов .NET с помощью генератора кода
- Используйте какой-нибудь визуальный дизайнер, который может генерировать бизнес-классы и структуру базы данных или скрипт
Что вы предпочитаете писать: «Создать табличных людей (...)» или «открытый класс Person {...}»?
Каковы плюсы и минусы этих способов?
Может быть, есть особые ситуации, когда один путь лучше другого?
Как выбрать оптимальный путь в конкретном проекте?
Я хорошо знаком с способом «Code-First» (или «Model-First»), но кажется, что большинство ORM спроектированы как генераторы кода или преобразователи, которые предполагают, что я буду вручную реализовывать как структуру базы данных, так и бизнес-классы .
Особенно приветствуются ответы, основанные на опыте и примерах ORM.
Редактировать: Обратите внимание: вопрос не в том, «Что мне делать в первую очередь при запуске нового проекта?», А в том, «Что должно быть объявлено / автоматически создано, классы домена или структура базы данных?»