【问题标题】:Fluent Nhibernate many-to-many where table has multiple columnsFluent Nhibernate 多对多,其中表有多个列
【发布时间】:2011-05-25 09:38:48
【问题描述】:

我正在尝试使用 Fluent NHibernate 映射多对多关系。

我有一个表用户和第二个表组织。关联表是包含 UserId 和 OrganizationId 的 UserOrganization。 UserOrganization 表还包含一些其他字段(YearBegan、YearEnd)。

我将如何继续使用流利的映射来映射那些。

谢谢

【问题讨论】:

    标签: nhibernate fluent-nhibernate


    【解决方案1】:

    您可能应该将 UserOrganization 设为包含这些字段的自己的实体。这也为您在级联更新和删除方面提供了更大的灵活性。

    public class UserOrganization {
        public virtual User User { get; set; }
        public virtual Organization Organization { get; set; }
        public virtual DateTime YearBegan { get; set; }
        public virtual DateTime YearEnd { get; set; }
    }
    

    【讨论】:

    • 尼克,您将如何向现有组织添加新用户。您会生成一个 UserOrganization 对象并将新用户和现有组织分配给它,然后使用 UserOrganizationRepository 提交所有内容吗?
    • 是的,没错。您也可以使用 AddOrganization(Organization org, DateTime yearBegan, DateTime yearEnd) 方法来修饰您的 User 域模型,该方法创建 UserOrganization 对象、设置属性并添加到 User.Organizations 集合中。更直接地说明如何使用域模型。
    • 谢谢尼克,我发布了一个后续问题。如果你有第二个,我会喜欢你的意见:stackoverflow.com/questions/4452722/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    相关资源
    最近更新 更多