NHibernate 를 ORM 으로 사용 하면 닿 기 쉬 운 문제 입 니 다.

NHibernate 를 ORM 으로 사용 하면 닿 기 쉬 운 문제 입 니 다.
1、Could not initialize proxy - no Session.
원인:hibenate 3 many-to-one 의 기본 옵션 은 lazy="proxy"해결 방법 입 니 다. & lazy="false"설정
사실 lazy="false"만 설정 하면 됩 니 다.set 에 도 설정 하면 한 번 더 조회 할 수 있 습 니 다.
2.홈 키 가 없 는 시 계 는.hbm.xml 설정 파일 을 어떻게 작성 합 니까?
hbm.xml 설정 중 하나 가 필요 합 니 다.

     

설정 절 이 없 으 면 오류 가 발생 하지만,어떤 시 계 는 메 인 키 가 없습니다.
예 를 들 어 어떤 종 표,예 를 들 어 주문 명세서 등 은 대부분 상황 에서 메 인 키 가 필요 하지 않다.
사실 없어 도 되 지만 있어 야 한다.즉,연합 키 다.연합 메 인 키 는 몇 개의 속성 으로 현재 기록 을 유일 하 게 표시 합 니 다.
생각 을 바 꾸 었 습 니 다.모든 속성 을 결합 키 로 합 쳤 습 니 다.

      
      
      
    

3.메 인 키 를 결합 한 후 주의해 야 할 부분
연합 키 를 사용 한 후 대응 하 는 Model 은 Equals 와 GetHashCode 방법 을 실현 해 야 합 니 다.그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.
public override bool Equals(object obj)
     {
         var item = obj as CRMTypeCustomer;
         return this.CRMTypeID == item.CRMTypeID
             && this.CustomerID == item.CustomerID;
     }
     public override int GetHashCode()
     {
         return base.GetHashCode();
     }

4.이 SqlServerParameterCollection 의 Count=4 색인 4 가 잘못 되 었 습 니 다.
원인 은:
표 에서 주 표 와 연 결 된 문제.

다음으로 변경:

속성 추가
insert="false" update="false"

좋은 웹페이지 즐겨찾기