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