I have a table "Person" and a column "GenderID" (Data Type integer). Also I have added a partial class with the property "Gender". In this property I translate the integer value from the "GenderID" into an enum (0 for "male", 1 for "female" and 2 for "other").
The "GenderID" property is private and I want to work only with the public property "Gender". But how do I map my property "Gender" to the column "GenderID"?
Here is the code:
The query:
Code: Select all
var query = from person in dbData.Persons
where person.Gender == Genders.F
select person;
The own partial class
Code: Select all
public enum Genders
{
M = 0,
F = 1,
O = 2
}
public partial class Person
{
public Genders Gender
{
get
{
if (GenderID.HasValue)
{
switch (GenderID.Value)
{
case 0:
return Genders.M;
case 1:
return Genders.F;
case 2:
return Genders.O;
default:
return Genders.O;
}
}
else
{
return Genders.O;
}
}
set
{
switch (value)
{
case Genders.M:
GenderID = 0;
break;
case Genders.F:
GenderID = 1;
break;
case Genders.O:
GenderID = 2;
break;
default:
GenderID = 2;
break;
}
}
}
}