2012-10-02 3 views
0

У меня есть массив в одном столбце в моей базе данных. В Postgres это выглядит следующим образом:Сопоставление массива в NHibernate

orientation double precision[] 

где 'ориентация' является именем столбца. Как это сделать на C#?

< property name="Orientation"/> в моем файле hbm.xml не выполняет эту работу. Мой класс в C# содержит поле:

public virtual double[] Orientation { get; set; } 

Это дает мне исключение:

Не удалось привести значение в поле Orientat9_0_ типа Double [] к типа SerializableType. Проверьте, правильно ли установлено соответствие и что ваш DataProvider поддерживает этот тип данных.

А также это:

Невозможно привести объект типа 'System.Double [], чтобы ввести ' System.Byte [].

Я не хочу создавать дополнительные таблицы в моей базе данных.

+0

Посмотрите это: http://stackoverflow.com/questions/1746414/how-configure-nhibernate-to-map-to-an-array-if-there-is-no-index-in-the-table –

ответ

0

Для этого вам необходимо ввести код IUserType.

+0

Я пробовал и пытался, но так и не смог. Можете ли вы предоставить код для этого? Это то, к чему я сузил его (обратите внимание, что мой массив всегда содержит 6 элементов): http://pastebay.net/1149297 – jacek11

Смежные вопросы