nhibernate에게 일대일 관계를 매핑하여 Ilist 가 아닌 를 목록에 매핑하는 방법?
-
23-08-2019 - |
문제
어떻게 든 nhibernate에게 내 일대일 관계를 인터페이스 ILIST 대신 유형 목록에 매핑하도록 할 수 있습니까?
Nhibernate는 게으른 하중을 위해 자체 ILIST 구현을 사용한다는 것을 알고 있지만이 기능은 필요하지 않습니다. 대신 직렬화 가능한 클래스가 필요합니다.이 클래스는 콘크리트 목록 클래스 대신 ILIST 인터페이스를 사용하여 달성 할 수 없습니다.
다른 팁
정말로이 작업을 수행 해야하는 경우 직렬화 전략을 변경하는 것입니다.
표준 직렬화 속성이 아닌 System.Runtime.serialization에서 DataContract 속성을 사용할 수 있습니다. 이것은 인터페이스의 직렬화를 지원합니다.
표준 직렬화를 사용해야하는 경우 직렬화하려는 값을 저장하기 위해 별도의 속성을 사용하여 직렬화시 간단히 채울 수 있습니다.
//NHibernate property
public virtual IList<Entity> Entities
{
get;
set;
}
//Serialized property
public List<Entity> SerializedEntities
{
get;
set;
}
[OnSerializing]
void DoStuff(StreamingContext context)
{
SerializedEntities = // Whatever you want to serialize...
}
제휴하지 않습니다 StackOverflow