하위 엔티티가 자루로 매핑 된 엔티티를로드하려고 시도하고 하위 엔티티와 부모 사이의 키가 문자열 인 경우 결과 가방은 키의 대문자가 부모의 ID 속성과 일치하지 않으면 채워집니다.NHibernate 가방을 대/소문자를 구분하지 않는 키로 매핑하는 방법
하면 Office.ID == "MyOffice" 및 PromotionalContent.ContextKey == "myoffice", 프로모션을로드하지 않습니다 수집, NHProfiler 그것이 의해 반환 된 것을 알 수에도 불구하고 데이터베이스.
경우 Office.ID == "MyOffice"및 * PromotionalContent.ContextKey == "MyOffice는"수집 부하을한다.
<class name="Office" table="Office" lazy="true">
<id name="ID" column="OfficeNum">
<generator class="assigned" />
</id>
<property name="Name" column="OfficeName" />
<property name="PhoneNumber" column="PhoneNum" />
<bag name="Promotions" lazy="true" where="ContextType='Office'" >
<key column="ContextKey"/>
<one-to-many class="PromotionalContent"/>
</bag>...
이것은 NHibernate 버전 4.0.3입니다.
매핑 할 수있는 방법은 무엇입니까? 을 수정하면 대소 문자에 관계없이 항상로드됩니까?
기본 데이터베이스는 무엇입니까? – Fran
MSSQL 2014. NHProfiler를 사용하여 SQL Server가 두 경우의 데이터를 반환한다는 것을 증명할 수 있으므로 세션 또는 캐시에 문제가있는 것으로 보입니다. – neoscribe