2012-03-12 73 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