문제

누구든지 ActiveRecord를 시도해 보았습니다 소개 샘플 C# 3.5로? 어떻게 든 샘플이 완전히 잘못되었거나 날짜가 오래 걸렸다는 느낌이 들었습니다. XML 구성은 명백한 잘못입니다.

<add key="connection.connection_string" value="xxx" />

해야한다 :

<add key="hibernate.connection.connection_string" value="xxx" />

(nhibernate config syntax right를 이해한다면 ..)

내가 무엇을 잘못하고 있는지 궁금합니다. 사용자 모델에서 count ()를 호출 할 때 "사용자에 대한 executeQuery를 수행 할 수 없습니다"예외를 얻습니다.

이것이 무엇인지 모릅니다. 튜토리얼 소스는 페이지의 소스 (특히 XML 구성에서)와 크게 다르며 대부분의 것들 (제네릭 등)에 대해 구문이 다른 VS2003 샘플입니다.

제안이 있습니까? ActiveRecord가 멋져 보입니다 ..

도움이 되었습니까?

해결책

(이것은 댓글 게시물에 너무 길었습니다)

@Tigraine] 이전 답변에 대한 귀하의 의견에서 오류는 구성이 아니라 엔티티 중 하나에 오류가있는 것처럼 보입니다. "Hibernate"를 제거하면 구성을 수정하여 실제 오류가 발생하여 엔티티 "게시물"이 activerecord가 매핑을 작성하는 데 적절하게 귀속되지 않은 것으로 보입니다.

당신이 그것이주는 오류를 더 낮추면 "post"가 실패한 것에 대한 세부 사항이있을 수 있습니다.

몇 가지 일반적인 것들은 다음과 같습니다.

  • 수업에는 없습니다 [ActiveRecord] 기인하다.
  • The The The 속성이 없습니다 [PrimaryKey] 기인하다.
  • "post"(또는 "post"라는 일치하는 테이블이 없습니다. PluralizeTableNames 사실이다").
  • 귀속 된 속성에 대한 일치 열은 없습니다.
  • 귀하의 속성 및 공개 방법은 아닙니다 virtual (이것은 항상 나를 죽인다).

다른 팁

키의 '최대 절전 모드'부분은 Nhibernate 버전 2.0에서 제거되었습니다. 이 버전은 nhibernate 2.0에 맞습니다.

<add key="connection.connection_string" value="xxx" />

편집 : 나는 QuickStart가 Castle과 Nhibernate의 바이너리와 함께 제공되지 않는다는 것을 알 수 있습니다. 당신은 어딘가에서 바이너리를 다운로드했을 것입니다. nhibernate.dll 파일의 버전 번호를 제공 할 수 있다면 도움이 될 것입니다.

혼란스럽게도, QuickStart 중 일부는 NHibernate (NH) 2.0으로 현재로 업데이트되었지만 최신 '적절한'성 릴리스는 여전히 1.0 RC3 (현재 거의 1 세)이며 NH 2.0을 포함하지 않습니다.

두 가지 방법으로 갈 수 있습니다. Castle RC3를 계속 사용할 수 있으며이 경우 실제로 구성 항목에 'Hibernate'접두사를 추가해야합니다. 또는 다운로드 할 수 있습니다 짓다 트렁크에서 성의 성은 NH 2.0에 대항하여 달려야합니다. 후자의 접근법의 문제점은 NH 2.0에 도입 된 다른 파괴 변경 중 일부가 빠른 시작에서 고정되지 않을 수 있다는 것입니다.

"삭제"hibernate."모든 구성 항목에 대한 부분. 첫 번째 예제는 올바른 예입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top