您好我想知道两者之间的区别,为什么要使用其中一个以及何时使用?
答案 0 :(得分:2)
您的对象模型不一定一对一地映射到您的数据库模型,并且在大多数情况下会更丰富。组件是一种通过在对象模型中封装功能来丰富数据库模型的方法。例如,假设您有两个表people
和companies
。这两个表都包含address
所需的字段,但无论出于何种原因,数据库模式都没有addresses
的第三个表。在您的应用程序中,您可能希望将地址建模为单独的实体,即使它没有逻辑数据库表。在这里,您将使用一个组件,该组件允许您为地址投影数据库字段。
IUserType
是一种使用自定义序列化将类型映射到列的方法。例如,如果您要映射mongodb ObjectId
(只不过是一个guid),您可以编写一个自定义IUserType
来进行映射。其他示例可以是将位掩码映射到富用户类型的数组或编码/解码加密字段。