nhibernate에게 일대일 관계를 매핑하여 Ilist 가 아닌 를 목록에 매핑하는 방법?

StackOverflow https://stackoverflow.com/questions/1086333

  •  23-08-2019
  •  | 
  •  

문제

어떻게 든 nhibernate에게 내 일대일 관계를 인터페이스 ILIST 대신 유형 목록에 매핑하도록 할 수 있습니까?

Nhibernate는 게으른 하중을 위해 자체 ILIST 구현을 사용한다는 것을 알고 있지만이 기능은 필요하지 않습니다. 대신 직렬화 가능한 클래스가 필요합니다.이 클래스는 콘크리트 목록 클래스 대신 ILIST 인터페이스를 사용하여 달성 할 수 없습니다.

도움이 되었습니까?

해결책

간단한 대답은 아니오입니다. Nhibernate에게 사용하라고 말할 수는 없습니다. List<T>. 이것 이전 질문 더 자세히 논의하십시오.

그만큼 최고의 기사 nhibernate 객체 직렬화에 대한 것을 찾을 수 있습니다. WCF 사용자를 대상으로합니다.

다른 팁

정말로이 작업을 수행 해야하는 경우 직렬화 전략을 변경하는 것입니다.

표준 직렬화 속성이 아닌 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...
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top