如何在ActiveRecord中将泛型类作为ColumnType传递?

时间:2014-01-02 07:53:31

标签: c# generics nhibernate activerecord

我有一个实现IUserType的泛型类。 我想将类型分配给proprty属性,因此ar可以通过它将字符串转换为枚举。

如果我像这样使用它:

[Property("MY_DB_NAME", ColumnType = "B.NewClass,B")]

创建课程:  public class NewClass:MyGeneicClass< EnumName> {}

效果很好。

但是,我希望将泛型类作为字符串传递给ColumnType,如下所示:

[Property("MY_DB_NAME", ColumnType = "B.MyGeneicClass<EnumName>,B")] 

是一种禁止不知道标志'&lt;'的投掷。

有人知道我怎么能通过它吗?

1 个答案:

答案 0 :(得分:1)

请尝试查看关于仿制药映射的Ayende博文:NHibernate and Generic Entities

示例映射:

<class name="ContactInformation`1[System.String]" ...

所以,你可以尝试:

[Property("MY_DB_NAME", ColumnType = "MyGeneicClass`1[EnumName]")]