How do you map a DateTime property to 2 varchar columns in the database with NHibernate (Fluent)?
- by gabe
I'm dealing with a legacy database that has date and time fields as char(8) columns (formatted yyyyMMdd and HH:mm:ss, respectively) in some of the tables.  How can i map the 2 char columns to a single .NET DateTime property?  I have tried the following, but i get a "can't access setter" error of course because DateTime Date and TimeOfDay properties are read-only:
public class SweetPocoMannaFromHeaven
{    
    public virtual DateTime? FileCreationDateTime { get; set; }
}
.
mapping.Component<DateTime?>(x => x.FileCreationDateTime,
            dt =>
            {
                dt.Map(x => x.Value.Date,
                    "file_creation_date");
                dt.Map(x => x.Value.TimeOfDay,
                    "file_creation_time");
            });
I have also tried defining a IUserType for DateTime, but i can't figure it out.  I've done a ton of googling for an answer, but i can't figure it out still.  What is my best option to handle this stupid legacy database convention?  A code example would be helpful since there's not much out for documentation on some of these more obscure scenarios.