Использовать структуру вместо примитива для типа свойства EF4

У меня есть сущность EF4 (сначала код), которая включает битовую маску int. Я создал структуру Bitmask, чтобы упростить работу с битовыми масками (предоставляет свойства bool для доступа к битам). Структура битовой маски включает перегруженные неявные операторы для преобразования в тип int и из него.

Я попытался установить тип свойства для структуры битовой маски, но значение возвращается как 0. Я знаю, что значение в базе данных имеет значение, и битовая маска работает в моих модульных тестах. Я установил HasColumnType на "INT".

Свойство ...

[Required]
[Display(Name = "Display Pages Bitmask")]
[Column(Name = "fDisplayPagesBitmask")]
public DisplayPagesBitmask DisplayPagesBitmask { get; set; }

Из объекта контекста ...

protected override void OnModelCreating(ModelBuilder builder)
{
    builder.Entity<Website>()
        .Property(m => m.DisplayPagesBitmask)
        .HasColumnType("INT");
}

Возможно ли это? Если так, что мне нужно сделать, чтобы он заработал?

6
задан Brian 13 January 2011 в 01:06
поделиться