【发布时间】:2012-06-09 13:08:54
【问题描述】:
我有这张表,其中几列设置为我不想要的类型。例如.. 一个名为 createDate 的列设置为 nvarchar(50).. 默认情况下将被视为字符串.. 但我不希望它被映射为字符串,我希望它被映射为 DateTime 对象。 那么如何在映射过程中将字符串转换为 DateTime 对象..
提前致谢
【问题讨论】:
标签: c# asp.net asp.net-mvc-3 fluent-nhibernate mapping
我有这张表,其中几列设置为我不想要的类型。例如.. 一个名为 createDate 的列设置为 nvarchar(50).. 默认情况下将被视为字符串.. 但我不希望它被映射为字符串,我希望它被映射为 DateTime 对象。 那么如何在映射过程中将字符串转换为 DateTime 对象..
提前致谢
【问题讨论】:
标签: c# asp.net asp.net-mvc-3 fluent-nhibernate mapping
基本上,您的映射类不知道数据库类型。您可以使用 DateTime 属性设计您的模型,并将它们映射到类型错误的列,希望在给定当前格式的情况下转换能够正常工作。如果我尝试这个没有成功,我还应该查看是否可以传入一个 FormatString 来解析。
public class Appointment
{
public DateTime Start { get; set; }
public DateTime End { get; set; }
}
public class AppointmentMap : ClassMap<Appointment>
{
public AppointmentMap()
{
Map(x => x.Start, "StartDateStringColumn");
Map(x => x.End, "EndDateStringColumn");
}
}
【讨论】: