Свободное отображение типов столбцов таблицы nhibernate - PullRequest
0 голосов
/ 10 июля 2010

Я работал с беглым Nhibernate в течение нескольких месяцев, и я думаю, что это очень гибкий инструмент (даже если термин «инструмент», возможно, неверный термин):)

Мне нужно работать надновый проект, и я все еще рассматриваю возможность использования свободного решения nhibernate для отображения моей базы данных на уровне хранилища.Дело в том, что по какой-то причине я действительно не понимаю, что БД не «стандартно» структурирована.

Я имею в виду, что на таблицы не ссылаются по внешнему ключу, но я знаю, что есть случаи, когда:

ТАБЛИЦА X: столбец типа nvarchar ТАБЛИЦА Y: столбец типа int

X - таблица, содержащая данные (в виде кодов), а Y - таблица, содержащая XAописание.

Как будто это абсурдная ситуация !!!но я ничего не могу сделать на БД.Итак, вопрос: могу ли я отобразить эти таблицы в беглом nhibernate, ссылаясь на них, даже если столбцы имеют разные типы?

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 10 июля 2010

Нет, внешний ключ с совершенно разными типами данных не поддерживается NHibernate.

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

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

Да и нет. Вы можете отобразить таблицы, но не отношения. Это даст вам анемичную модель предметной области и методы репозитория для извлечения связанных объектов, то есть доступа к заказам из метода GetOrdersForCustomer(), а не из коллекции Customer.Orders.

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

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