用NHibernate将多个列映射到一个数组

本文关键字:数组 一个 映射 NHibernate | 更新日期: 2023-09-27 17:55:01

我有一个不能改变的旧数据库,我目前正在使用NHibernate。
问题是我有一个有多列的表,我想把它们映射到一个数组。

ID
Price1
Price2
Price3
Price4
[…]

类如下:

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

有可能吗?
我必须只读取数据,我实际上不需要设置/保存该属性。

用NHibernate将多个列映射到一个数组

好吧,这只是一个变通方法,而且很脏,但我认为它可能有效:

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的映射能力,我不知道。