2009-10-20 91 views
6

someposts来自Jimmy Boggard和想知道 - 如何映射这些野兽与流利的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) { } 
} 

回答

3

啊......这很容易。在CodeCampServer中 - 有一个通用的EnumerationType类。想法很简单 - 我们只需要用EnumerationType包装我们的域模型枚举值对象,以便将其映射为整数(或其他必要的东西)。

+0

+1谢谢,对于任何需要它的人,您可以在这里找到它:http://code.google.com/p/codecampserver/source/browse/trunk/src/Infrastructure/EnumerationType.cs – rohancragg 2009-11-30 14:50:43

+1

此链接是无效。 http://code.google.com/p/codecampserver/source/browse/trunk/src/Infrastructure.NHibernate/DataAccess/EnumerationType.cs?spec=svn1063&r=1063 – 2010-01-04 04:10:02

+0

感谢您修复它。他们稍微改变了项目结构。 – 2010-01-04 06:35:00

1

您还可以创建从IUserType派生并指定如何存储从数据库的特定列检索信息,序列化和反序列化枚举。

检查this article的IUserType的基本知识的简单说明。