nhibernate - Fluent NHibernate - 将单个表的部分映射到具有几个共享字段的多个类

标签 nhibernate fluent-nhibernate

我有一种情况,除了凭据数据(用户名、密码、先前的密码等)之外,用户表还有很多关于用户的信息(名字、姓氏、电子邮件等)。通常我会将身份验证与个性化分开,但是这个表已经建立很久了,我不能这样做。

让我感到困扰的是 1 个用户对象,其中包含在我的应用程序中传递的所有这些数据。相反,我想将其拆分为两个对象:UserUserCredentials .用户可以在我的应用程序中自由传递而不会泄露任何密码,而 UserCredentials 将仅在我的服务后端用于验证和验证用户。

这似乎很简单。但是,需要在这两个对象之间共享某些字段。当我的一个对象被更新时,这会导致 nhibernate 出现问题吗?例如,如果用户名发生更改并且对象中都有用户名,那么这两个对象都会更新吗?

最佳答案

如果 User 和 UserCredentials 代表同一实体的两个 View ,不要为他们创建两个类。它只会导致痛苦。

备择方案:

  • 使用 component暴露实体的“公共(public)”部分并传递
  • 使用 DTO 准确包含您需要的字段并传递
  • 关于nhibernate - Fluent NHibernate - 将单个表的部分映射到具有几个共享字段的多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5019912/

    相关文章:

    c# - 使用 nhibernate,我将如何构造一个需要最近 50 行的查询

    NHibernate JoinQueryOver

    nhibernate - 解释 CreateCriteria(typeof(Cat)) 和 CreateCriteria<Cat>() 之间的区别

    sql - 如何计算 NHibernate 中属于多个标签的所有帖子?

    c# - 从文件设置 Fluent NHibernate 的指南 - 新项目

    NHibernate.PropertyAccessException 未处理

    asp.net - Web API ASP.NET 中的 NHibernate : No session bound to the current context

    c# - Fluent NHibernate Collection Table-Per-Subclass

    nhibernate - Quartz.NET, NH ISession & Ninject Scope

    c# - NHibernate尝试为FK映射插入现有记录,但仅当int ID为0时