0

저는이 문제가 바보 일 수 있으므로 nHibernate 유니버스를 처음 사용했습니다. nullable nvarchar 열이있는 테이블이 있습니다. 매핑에서 나는 이것을 사용합니다 Map(c => c.Genero, "genero").Nullable(); 속성에서 나는 값을 설정하기 위해 트림을 사용합니다. 그래서 개인 문자열과 공개 가상 문자열을 갖습니다. 이 표에서 select를 수행하면이 속성의 setter에서 런타임 오류가 발생합니다. 이 속성을 Nullable에 전달하려고했지만 컴파일시 오류가 발생하여 The type 'string' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Nullable<T>'이라고 표시됩니다.null 문자열 속성/열 nHibernate + Fluent

어떻게하면됩니까?

모두에게 감사드립니다!

업데이트

{get; 세트; } 정상적으로 작동하지만 트림해야합니다.

답변

1

null 문자열을자를 수없는 문제 일 수 있습니다. 시도 :

public string Genero 
{ 
    get { return _genero; } 
    set { _genero = string.IsNullOrEmpty(value) ? value : value.Trim(); } 
} 

매핑에 따라 세션을 플러시 할 때 트리밍 된 문자열이 데이터베이스에 기록 될 수 있습니다. 문자열을 비공개 필드로 매핑하고 getter에서 트리밍하는 것이 좋습니다.