EF4 эквивалент NHibernate IUserType - PullRequest
1 голос
/ 27 марта 2011

Я хочу отобразить свойство модели типа TimeZoneInfo на столбец в базе данных. В NHib я просто создал IUserType «TimeZoneInfoString», который конвертировал туда-сюда и затем использовал typedef. Как я могу сделать этот тип работы, используя Entity Framework 4.0?

1 Ответ

3 голосов
/ 27 марта 2011

Платформа сущностей не имеет эквивалента пользовательских типов NHibernate.Вы должны создать отдельное свойство в вашей сущности для него и отобразить только строковое свойство.Примерно так:

public partial class MyEntity
{
    public TimeZoneInfo TimeZone
    {
        get
        {
            return Parse(TimeZoneInfoString);
        }
        set
        {
            TimeZoneInfoString = value.ToString();
        }
    }
}

Где этот класс является вашей частичной частью автоматически сгенерированной сущности.TimeZoneInfoString - это свойство, отображаемое в вашей сущности, а Parse и ToString содержат логику преобразования.

...