我在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类型?在保存或从数据库重新启动之前对其进行排序,而不必更改实体的结构。
答案 0 :(得分:1)
您有两个选择
为nhibernate创建自定义类型,并在映射中将其指定为.CustomType
。因此,您必须实现一个小型界面,用于执行与QuantLib.Date
您只需将日期属性的类型更改为System.DateTime,并添加另一个读取/写入日期属性的属性,但使用您的QuantLib.Date
,
伪代码:
public QuantLib.Date QDate {
get{
// read from this.date and create a new QuantLib.Date
}
set{
// write to this.date
}
}