Сопоставление пользовательских классов перечислений с помощью Fluent Nhibernate

Чтение некоторых сообщения от Джимми Боггарда и интересно - как именно можно сопоставить этих зверей с беглым nhibernate?

Как для этого будет выглядеть маппинг?

public class EmployeeType : Enumeration{
    public static readonly EmployeeType 
     Manager = new EmployeeType(0, "Manager"),
     Servant = new EmployeeType(1, "Servant"),
     AssistantToTheRegionalManager = new EmployeeType
       (2, "Assistant to the Regional Manager");

    private EmployeeType() { }
    private EmployeeType(int value, string displayName) : 
        base(value, displayName) { }
}

person Arnis Lapsa    schedule 20.10.2009    source источник


Ответы (2)


Ах ... это было легко. В CodeCampServer есть общий класс EnumerationType. Идея проста - нам просто нужно обернуть наш объект значения перечисления модели предметной области с помощью EnumerationType, чтобы отобразить его как целое число (или что-то еще, если необходимо).

person Arnis Lapsa    schedule 24.10.2009
comment
+1 спасибо, и всем, кто этого хочет, вы можете найти его здесь: code.google.com/p/codecampserver/source/browse/trunk/src/ - person rohancragg; 30.11.2009
comment
Эта ссылка недействительна. code.google.com/p/codecampserver/source/browse/trunk/src/ - person Quintin Par; 04.01.2010
comment
Спасибо, что исправили. Немного изменили структуру проекта. - person Arnis Lapsa; 04.01.2010

Вы также можете создать производное от IUserType и указать, как хранить извлечение информации из определенного столбца в базе данных, сериализуя и десериализуя перечисление.

Просмотрите эту статью, чтобы получить простое объяснение основ IUserType. .

person Marc Climent    schedule 11.03.2010