Подзвуковое сопоставление объектов с таблицами

Я использую Compact Framework 3.5 и предварительно установил пользовательскую сборку Subsonic 3.0 для доступа к данным. Проблема в том, что я привык к разработке первой модели, но я также заинтересован в том, чтобы контролировать мою схему БД. Поэтому ни ActiveRecord, ни Repository не соответствуют моим потребностям, и я хочу использовать существующую модель POCO и сопоставить ее с моими существующими таблицами. Я привык делать это через NHibernate и Entity Framework.

После некоторого исследования выяснилось, что я могу создать пользовательский QueryMapping, чтобы дать мне настраиваемое сопоставление, которое я хочу. Однако, прежде чем я начну с этого пути, я хотел бы увидеть пример такого действия. Я не могу найти что-либо в Интернете, и задаюсь вопросом, может ли кто-нибудь вносить свой вклад в опыт работы с Subsonic, model-first и пользовательским сопоставлением Table-per-Type и Table-per-Hierarchy.

Ответы

Ответ 1

Как и SubSonic 3.0.x:

Если вы хотите использовать POCOs, вам очень хочется, чтобы репозиторий - SimpleRepository в частности. SubSonic поддерживает только модель на основе таблицы. SubSonic не поддерживает наследование. Если вы этого захотите, вам придется его закодировать; однако, чтобы не достичь, если вы мотивированы принять его.

SimpleRepository, однако, предлагает респектабельный объем контроля над схемой - даже при использовании (автоматических) миграций (которые я нахожу вполне захватывающими для POCO-первых). Не забудьте проверить хорошую документацию на сайте проекта, в частности http://www.subsonicproject.com/docs/Using_SimpleRepository. Обратите внимание на использование атрибута. Новые атрибуты легко создавать и интегрироваться в пользовательский класс сервиса репозитория.

Возможно, самое лучшее в SubSonic SimpleRepository: его очень легко расширить. Наша команда немного расширила ее (например, добавив поддержку загрузки), и в целом нам всем очень приятно взламывать. Он имеет очень приятный дизайн, быстрый, легкий и не привлекает к себе внимания.

Лучше всего, SimpleRepository + Migrations поощряют разумный дизайн схемы. Если вы столкнетесь с SubSonic, вам нужно проверить себя; скорее всего, вы управляете своей лодкой в ​​сорняки.

Если вам нужна больше возможностей для управления версиями базы данных, объедините его с migrator.net для легкой победы.

Удачи, и добро пожаловать в SubSonic!