Используйте папку XML-файлов в качестве источника данных для nhibernate - PullRequest
4 голосов
/ 02 июня 2010

Я собираюсь начать писать тесты NUnit для нескольких классов в моем проекте. Определенное количество этих классов использует данные, собранные с помощью nhibernate из базы данных SQL Server 2008.

Часть программы, которую я собираюсь протестировать, очень специфична (и сложна). Поэтому я сделал папку с файлами XML. В совокупности XML-файлы могут привести к структуре базы данных. Я имею в виду, что каждый XML-файл соответствует таблице в базе данных. Данные в файлах xml также соответствуют базе данных.

Есть ли способ использовать эту папку XML-файлов в качестве источника данных для nhibernate? Я имею в виду: могу ли я использовать nhibernate для сбора моих тестовых данных (которые я специально выбрал) вместо данных из базы данных? Таким образом, я мог бы успешно протестировать этот компонент, не повредив (тестовую) базу данных для будущих тестов.

Ответы [ 2 ]

2 голосов
/ 02 июня 2010

«R» в ORM означает «Реляционный». NHibernate предназначен для взаимодействия с реляционными базами данных, а не с файлами XML.

Вместо этого вам следует смоделировать слой DAO / Repository для чтения из файлов XML без с использованием NHibernate.

0 голосов
/ 26 июля 2010

У меня был подобный вопрос здесь, и я нашел ответ (возможно) сам, так как я не пробовал его.

Вот очень многообещающая глава в спящем документе: XML Mapping

Таким образом, можно хранить реляционные данные в формате XML. Существуют также способы обеспечения ссылочной целостности через элементы схемы xsd.

Но:

XML Mapping является экспериментальной функцией в Hibernate 3.0 и в настоящее время находится в стадии активной разработки.

...