NHibernate Cascade SaveorUpdate

时间:2012-02-06 21:36:38

标签: nhibernate transactions sessionfactory

通过在我的实体上级联saveupdate,我遇到了保存关联的问题。我有这个映射覆盖,并希望通过级联保存它的一对多关联,但这不起作用。

public class DomainMappingOverride : IAutoMappingOverride<Tcf.Domain.Entities.Domain>
{
    /// <summary>
    /// Overrides the specified mapping.
    /// </summary>
    /// <param name="mapping">The mapping.</param>
    public void Override(AutoMapping<Tcf.Domain.Entities.Domain> mapping)
    {
        mapping.Table("domeinen");
        mapping.Map(m => m.Code, "code_1");
        mapping.Map(m => m.Description, "omschrijving");
        mapping.Map(m => m.Explanation, "toelichting");
        mapping.Map(m => m.CreatedBy, "createdby");
        mapping.Map(m => m.ModifiedBy, "modifiedby");
        mapping.Map(m => m.DateCreated, "createdat");
        mapping.Map(m => m.DateModified, "modifiedat");
        mapping.HasMany<SubDomain>(m => m.SubDomains).KeyColumn("domein").Cascade.SaveUpdate();
    }
}

对象本身已保存,但不是关联,我做错了什么?

2 个答案:

答案 0 :(得分:0)

我相信当您尝试在已经打开事务的会话上启动事务时会出现此错误消息。我需要了解更多有关会话包装器的信息,以便给出更好的答案。

答案 1 :(得分:0)

问题出在我的AutoPersistenceModel生成中。我的外键约定不匹配。

它映射到DomainId,但是insinde SQL server的列名是domein。