流畅的NHibernate映射:QuantLib.Date和Mysql的日期

时间:2013-12-18 14:37:27

标签: c# mysql nhibernate fluent-nhibernate nhibernate-mapping

我在C#项目中使用了QuantLib的Date类,这在尝试将my Price类映射到mySql中的price表时会导致一些问题数据库中。

price表有三列:[id][date][value],代码如下:

//ENTITY
    public class Price{
        public virtual long id { get; protected set; }
        public virtual QuantLib.Date date { get; set; }
        public virtual double value{ get; set; }
    }

//MAPPING
    public PriceMap() {
        Table("price");
        Id(x => x.id, "id");
        Map(x => x.date, "date") // to be completed... ;
        Map(x => x.value, "value");
    }

有没有办法指定NHibernate如何使用Fluent NHibernate将此类映射到MySQL的Date类型?在保存或从数据库重新启动之前对其进行排序,而不必更改实体的结构。

1 个答案:

答案 0 :(得分:1)

您有两个选择

  1. 为nhibernate创建自定义类型,并在映射中将其指定为.CustomType。因此,您必须实现一个小型界面,用于执行与QuantLib.Date

  2. 之间的转换
  3. 您只需将日期属性的类型更改为System.DateTime,并添加另一个读取/写入日期属性的属性,但使用您的QuantLib.Date, 伪代码:

    public QuantLib.Date QDate {
       get{
         // read from this.date and create a new QuantLib.Date
       }
       set{
         // write to this.date
       }
    }