Вопрос
Как сопоставить базу данных набора словарей с той же конфигурацией .hbm?Отображение словаря NHibernate без первичного ключа
Сценарий
Я пытаюсь отобразить свойство словаря:
Dictionary<string, string> Phrases { set; get; }
со следующей конфигурацией: .hbm
<map
name="Phrases"
cascade="save-update"
table="ATTRIBUTE_LOCALE"
lazy="true">
<key column="RESOURCE_ID" /> <!-- foreign key -->
<index column="LOCALE_NAME" type="string" />
<element column="PHRASE" type="string" />
</map>
и Ниже приводится таблица создания SQL из [ATTRIBUTE_LOCALE ] для MS SQL:
CREATE TABLE ATTRIBUTE_LOCALE (
CUID int IDENTITY(1, 1) NOT NULL,
RESOURCE_ID int NOT NULL,
FIELD_NAME nvarchar(255) DEFAULT 'VALUE' NOT NULL,
LOCALE_NAME nvarchar(255) NOT NULL,
PHRASE ntext NULL
);
, но если я изменю свою базу данных с MS SQL Server на Oracle и базу данных Oracle, вы не сможете использовать IDENTITY (1, 1) для автоматического создания первичного ключа. В Oracle у меня возникнут проблемы из-за вставки таблицы с NULL Primary Key.
Как я могу решить эту проблему?
В моем требовании ATTRIBUTE_LOCALE необходимо сопоставить свойство словаря. Я не могу добавить .hbm и домен для ATTRIBUTE_LOCALE. Кроме того, в конфигурации .hbm этот