2012-06-05 115 views
0

我有这张表,其中几列设置为我不想要的类型。例如..一个名为createDate的列被设置为一个nvarchar(50)..默认情况下它将被视为一个字符串.. 但我不希望它被映射为一个字符串,我希望它被映射为一个DateTime对象。 因此,如何将我投串入一个DateTime对象,在映射过程..铸造类型映射,FluentNhibernate

在此先感谢

回答

0

基本上,你的映射类是不知道的数据库类型。您可以使用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"); 
    } 
} 
+0

因此,基本上你告诉我,Nhibernate应该处理解析本身?..或? – Inx

+0

是的,NHibernate自动完成转换。至少,如果DateTime以ISO8601格式存储为字符串,即。 –

+0

我真的很想知道为什么这是downvoted ...请解释:( –