C# 映射中的强制类型转换,FluentNhibernate

C# 映射中的强制类型转换,FluentNhibernate,c#,asp.net,asp.net-mvc-3,fluent-nhibernate,mapping,C#,Asp.net,Asp.net Mvc 3,Fluent Nhibernate,Mapping,我有一个表,其中一些列被设置为我不想要的类型。例如。。名为createDate的列设置为nvarchar(50)。。默认情况下将被视为字符串。。 但我不希望它被映射为字符串,我希望它被映射为DateTime对象。 那么,在映射过程中,我如何将字符串转换为DateTime对象呢 提前感谢基本上,您的映射类不知道数据库类型。您可以使用DateTime属性设计您的模型,并将这些属性映射到类型错误的列,希望在给定当前格式的情况下转换能够正常工作。我还应该查找是否有可能传入一个FormatString来进

我有一个表,其中一些列被设置为我不想要的类型。例如。。名为createDate的列设置为nvarchar(50)。。默认情况下将被视为字符串。。 但我不希望它被映射为字符串,我希望它被映射为DateTime对象。 那么,在映射过程中,我如何将字符串转换为DateTime对象呢


提前感谢

基本上,您的映射类不知道数据库类型。您可以使用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");
    }
}
公共课堂预约
{
公共日期时间开始{get;set;}
公共日期时间结束{get;set;}
}
公共类任命映射:类映射
{
公共任命地图()
{
映射(x=>x.Start,“StartDateStringColumn”);
映射(x=>x.End,“EndDateStringColumn”);
}
}

那么基本上你告诉我Nhibernate自己处理解析?或者?是的,Nhibernate自动进行转换。至少,如果日期时间存储为ISO8601格式的字符串,也就是说。