首页 文章

NHibernate映射System.Type

提问于
浏览
4

当我映射具有System.Type类型属性的实体时,我知道NHibernate将此映射到DbType.String,保存程序集限定名称,我可以看到在表中,类型列包含“TarkusSoftware.Abstract”之类的值.ITask,TarkusSoftware.Abstract,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null“ .

这对于长期开发意味着什么,当我们最终将汇编版本更改为2.0.0.0时会发生什么?我认为NHibernate将无法保湿对象,因为它无法找到具有其程序集限定名称的类型 . 在这种情况下,应该如何继续映射System.Type以确保将来的兼容性?谢谢 :)

1 回答

  • 3

    这可能是正确的 . 您可以实现自己的IUserType以更好地控制 .

    我刚检查了NH源,你是对的 . 它只使用类型和程序集名称,忽略版本等 . 如果有兴趣,请检查以下代码:TypeNameParser.Parse()

相关问题