【问题标题】:NHibernate Component Mapping VS IUserTypeNHibernate 组件映射 VS IUserType
【发布时间】:2011-04-22 17:06:14
【问题描述】:

您好,我想知道两者之间的区别,您为什么要使用其中的一种以及何时使用?

【问题讨论】:

    标签: nhibernate


    【解决方案1】:

    您的对象模型不一定会一对一地映射到您的数据库模型,并且在大多数情况下会更丰富。组件是一种通过在对象模型中封装功能来丰富数据库模型的方法。例如,假设您有两个表,peoplecompanies。这两个表都有address 所需的字段,但无论出于何种原因,数据库模式都没有addresses 的第三个表。在您的应用程序中,您可能希望将地址建模为一个单独的实体,即使它没有逻辑数据库表。在这里,您将使用一个组件,该组件允许您为地址投影数据库字段。

    IUserType 是一种使用自定义序列化将类型映射到列的方法。例如,如果您要映射一个 mongodb ObjectId(只不过是一个 guid),您可以编写一个自定义的 IUserType 来进行映射。其他示例可能是将位掩码映射到丰富的用户类型数组或编码/解码加密字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 2010-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      相关资源
      最近更新 更多