我使用nhibernate創建的數據庫的域名庫。當我用庫創建web服務時,我發現很多關於無法在DataContract類中使用接口的錯誤。 e.q..NET XML Web服務和NHibernate:如何使用屬性
[DataContract]
public class MyClass
{
...
[DataMember]
public virtual IList<Item> Items {get;set;}
...
}
接下來,我決定添加一些伎倆:我添加其他物業類型列表:
[DataContract]
public class MyClass
{
...
[XmlIgnore]
public virtual IList<Item> prItems {get;set;}
[DataMember]
public virtual List<Item> Items {
get{
return this.prItems.ToList();
}
set{
this.prItems = value;
}
}
...
}
這項工作很好 - 我可以在我的客戶端上獲取列表,但是當我需要更改列表項目 - 這是在服務器上是空的,因爲客戶端什麼都不知道prItems。 你可以給我建議嗎?
你確定嗎?當我嘗試使用這個,再次我得到錯誤 - 接口不能序列化如何和更早。 – viko 2010-11-09 09:01:20
是的,我確定(至少對於非nhibernate項目,但即使使用透明代理,它們也應該一樣工作)。我只是測試它。問題在於它是一個泛型定義,但KnownType只聲明'typeof(List)'。我已經更新了我的答案。 – jgauffin 2010-11-09 09:18:19
你有沒有試過我更新的答案? – jgauffin 2010-11-09 14:19:46