Отображение первичного ключа типа двоичного (16) - PullRequest
1 голос
/ 07 июля 2010

У меня есть устаревшая схема, которая содержит таблицы с составными ключами, где некоторые ключи имеют тип двоичный (16) - это хэш MD5 других столбцов. У меня проблемы с поиском правильного способа нанести на карту эту структуру. Первое, что я попробовал, было просто использовать byte [] в качестве типа моего домена, который NHibernate быстро отклонил, поскольку byte [] не реализует Equals (duh!). Следующее, что я попробовал, было создать пользовательский тип пользователя (т.е. реализует IUserType), чтобы обернуть byte [] и предоставить необходимую реализацию Equals, но это не сработало, так как кажется, что NHibernate (v2.1.2) не поддерживает типы пользователей в композитных ключах. Последнее, что я попробовал, было использование Guid в качестве моего типа домена, надеясь, что NHibernate автоматически CAST или CONVERT между моим типом домена (uniqueidentifier) ​​и моим типом столбца (binary (16)); это не так. В настоящее время я ищу способ заставить NHibernate обернуть все использования столбца c в CONVERT (uniqueidentifier, c). Возможно ли это или есть другой способ заставить это работать?

1 Ответ

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

Я не знаю nhibernate, но я думаю, что это действительно вопрос SQL.

По какой-либо причине вы не можете создать представление для таблицы и добавить новое индексированное поле (здесь я предполагаю ms-sql) или подобное, которое приводит двоичный код (16) или уникальный идентификатор или nvarchar?

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