2012-03-12 70 views
1

我一直在嘗試使用PetaPoco來處理我正在工作的一個小項目,到目前爲止它一直很棒。PetaPoco - 在WCF響應中包含自定義部分類屬性

我已經創建了一些額外的非自動生成的部分類來保存各種計算值,如下面的示例所示。我無法將這些附加屬性序列化爲WCF響應,但自動生成的東西中的所有屬性序列化都很好。我嘗試在這些自定義屬性上使用[Serializable]和[DataContract],但它們完全破壞了WCF服務。

任何想法?

public partial class Session 
    { 
     [ResultColumn] 
     public int ConnectedUserCount 
     { 
      get 
      { 
       AssistedServiceDB db = new AssistedServiceDB(); 
       return db.ExecuteScalar<int>("SELECT Count(*) FROM Session_AssistedServiceUser WHERE IsConnected = 1"); 
      } 
     } 

回答

1

有幾件事情要看partial WCF DataContracts工作。首先,如果其他Session類標記爲DataContract,那麼這個類也需要以相同的方式標記。這是假定ResultSession類也是可序列化和/或標記爲DataContract。另一個問題是WCF要求屬性至少具有private setters因此需要將ConnectedUserCount屬性更改爲具有屬性。

+0

當然,添加一個公共setter使它工作。謝謝。 – user163757 2012-03-12 18:34:15