2012-02-06 1 views
0

내 엔티티에서 saveupdate를 계단식으로 연결하여 연결을 저장하는 데 문제가 있습니다. 이 맵핑 오버라이드가 있고 캐스케이드로 일대 다 연관을 저장하고 싶지만 작동하지 않습니다.NHibernate 계단식 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(); 
    } 
} 

개체 자체는 저장되지만 연결은 아니며 무엇이 잘못 되었습니까?

답변

0

열린 트랜잭션이 이미있는 세션에서 트랜잭션을 시작하려고하면이 오류 메시지가 발생합니다. 더 나은 답변을 제공하기 위해 세션 래퍼에 대해 더 알고 싶습니다.

+0

좋습니다. 아무 문제 없습니다. 내 게시물을 편집하고 래퍼 코드를 복사합니다. –

+0

ForEach는 어느 부분에 결함이 있습니까? 나는 당신의 접근 방식이 나에게 너무 복잡하게 보인다는 것을 말해야 만합니다. 계단식 연결을 사용하여 동일한 작업을 수행 할 수 있습니까? –

+0

이 계단식 작동 방법을 설명해 주시겠습니까? 모범이 있습니까? –

0

문제는 내 AutoPersistenceModel 세대 내에있었습니다. 우리 외래 키 협약이 일치하지 않았습니다.

DomainId에 매핑되었지만 SQL Server의 열 이름 인 SQL Server가 domein입니다.