2009-07-06 47 views

回答

1

簡單的答案是否定的,你不能告訴NHibernate使用List<T>。這earlier question更詳細地討論它。

best article我可以在序列化NHibernate對象上找到針對WCF用戶的對象。

0

如果你確實需要這樣做,你唯一的選擇就是改變你的序列化策略。

您可以在System.Runtime.Serialization中使用DataContract屬性,而不是使用標準的Serialization屬性。這將支持接口的序列化。

如果您需要使用標準序列,那麼你可以使用一個單獨的屬性,用於存儲要被序列化和簡單地填充它的序列化的值:

//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... 
} 
相關問題