I have a database with a field 'LS_GENDER' which stores genders as 'M' or 'F'.
My application uses an enumeration called Gender to work with genders.
My entity has the following field and property:
private string _gender;
public Gender Gender { get { return GetGenderFromString(_gender); } };
private Gender GetGenderFromString(string strGender)
{
switch (strGender.ToLower())
{
case "f":
return Gender.Female;
case "m":
return Gender.Male;
default:
return Gender.Unknown;
}
}
How do I map this with FluentNHibernate? I am trying to use field access (as shown below):
Map(x => x.Gender).Column("LS_GENDER").Access.CamelCaseField(Prefix.Underscore);
but I'm getting the error 'Can't parse F as Gender'. I think NHibernate is getting confused because the property and field are not of the same type.
How should I map this?