2011-05-06 3 views
2

У меня есть старая база данных, которая не может быть изменена, и в настоящее время я использую NHibernate.
Проблема в том, что у меня есть таблица с несколькими столбцами, и я хотел бы сопоставить их в один массив.Сопоставление нескольких столбцов с массивом с NHibernate

Таблица ID
взнос1
price2
price3
Price4
[...]

Класс будет следующим:

public class MyClass { 
    public int Id { get; set; } 
    public decimal[] Prices { get; set; } 
} 

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

Спасибо!

ответ

3

хорошо, это лишь временное решение, и это довольно грязный, но я думаю, что это может работать:

public class MyClass { 
    public virtual int Id { get; set; } 
    protected virtual decimal Price1 { get; set; } 
    protected virtual decimal Price2 { get; set; } 
    protected virtual decimal Price3 { get; set; } 
//... 
    public decimal[] Prices 
    { get 
    { 
     return new decimal[] {Price1, Price2, Price3}; 
    } 
    } 
} 

, но, может быть более сложный ответ, используя возможности отображения Nh, что я не знаю из.

+0

Я бы не назвал это «довольно грязным» - это довольно стандартное свойство оболочки. – MusiGenesis

+0

Привет, это было мое первое решение, но, к сожалению, оно не подходит, поскольку столбцы могут меняться, и я хотел бы изменить только отображение XML, а предпочтительно не код. Спасибо, в любом случае! – StockBreak

+0

Как использовать пользовательский тип, который принимает список столбцов? Это было бы довольно сложно реализовать, но, возможно, оно должно соответствовать моим потребностям. В любом случае, кажется, что нет «простых» способов сделать это ... – StockBreak