我正在使用 QuantLib 的 Date类在 C#
项目中,当尝试将我的 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如何将这个类映射到MySQL的Date类型,使用 Fluent NHibernate?在保存到数据库或从数据库中检索之前对其进行强制转换,而无需更改实体的结构。
最佳答案
你有两个选择
为 nhibernate 创建自定义类型,并在映射中将其指定为
.CustomType
。因此,您必须实现一个小接口(interface),用于与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 } }
关于c# - Fluent NHibernate映射: QuantLib.日期和Mysql的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20660997/