繁体   English   中英

NHibernate属性配置

[英]NHibernate property config

在NHibernate中,我有此配置。

 <property name="Name" type="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a222222229">
      <column name="Name" />
    </property>

这些是什么意思? msconrlib,版本,区域性,publicKeyToken? 为什么我们需要这些? 我在Java env中研究过Hibernate,所以我从不使用这些标签。

谢谢

类型描述了用于该属性的.Net CLR类型。 在这种情况下,是普通字符串。

在这种情况下,您不必指定它。 在某些情况下,您想指定它,例如在使用自定义类型时。 或者当您想映射DateTime时。

关于类型各部分的含义:类型为System.String,关于程序集名称,区域性和版本非常精确地描述。 publicKeyToken是程序集强名称的密钥-只要使用不同的密钥对程序集名称进行签名,就可以使用重复的程序集名称。

您可以将此映射编写为

 <property name="Name">
      <column name="Name" />
 </property>

要么

<property name="Name" type="String">
      <column name="Name" />
</property>

但是,如果您想在某个程序集中使用自定义类型,则需要指定是否像现在这样更详细。

在MS .Net中,它称为“强程序集”名称。 这是在.Net Framework中标识特定类型的方式。 因此,此特定字符串说明要使用mscorlib库4.0版中的System.string。 没有本地化偏好。 这允许.Net使用部署到GAC的程序集-全局程序集缓存,该程序充当系统dll的全局目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM