NHibernate: начальная популяция данных - PullRequest
4 голосов
/ 26 августа 2009

Я использую NHibernate в качестве ORM, а для модульного тестирования. Я использую sqlite в качестве базы данных-заменителя.

Чтобы провести содержательный модульный тест, мне нужно заполнить таблицы. Как это сделать в NHibernate? Несмотря на то, что моя база данных модульного тестирования - sqlite, я бы предпочел независимые от БД сценарии, которые позволяют мне это делать.

Nhibernate поддерживает это из коробки? Или я должен прибегнуть к использованию метода NHibernate Save для вставки?

P / S: Некоторые из ORM или фреймворка на другом языке (например, Symfony в PHP ), поддерживают это через yml .

Ответы [ 3 ]

1 голос
/ 17 сентября 2009

AFAIK NHib не дает вам возможности массового импорта ... вам нужно как-то создать несколько сущностей, а затем вызвать ISession.Save на них. Если вы пойдете по этому пути, я рекомендую вам использовать шаблон Test Data Builder .

Вместо этого вы можете сериализовать некоторые объекты в XML, а затем вам потребуется десериализация и сохранение для настройки ваших данных, но я подозреваю, что XML будет утомительно поддерживать.

1 голос
/ 17 сентября 2009

Взгляните на этот блог ScotMuc и серию Autumn of Agile Стивена Болена Это должно указывать вам в правильном направлении

0 голосов
/ 17 сентября 2009

Я не знаю ни одного инструмента, который сделал бы это для вас, но было бы неплохо.

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

У меня есть консольное приложение, которое в значительной степени делает это, поэтому я могу загрузить исходные данные в базу данных для работы моего основного приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...