1

我一直在尝试将 PetaPoco 用于我正在工作的一个小项目,到目前为止它非常棒。

我创建了一些额外的、非自动生成的部分类来保存各种计算值,如下面的示例所示。我无法将这些附加属性序列化为 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");
            }
        }  
4

1 回答 1

1

要使部分 WCF DataContracts正常工作,需要做几件事。首先,如果另一个Session类被标记了,DataContract那么这个类也需要以同样的方式标记。这是假设ResultSession该类也是可序列化的和/或标记为DataContract. 另一个问题是 WCF 要求属性至少具有私有设置器,因此ConnectedUserCount需要将属性更改为具有一个。

于 2012-03-12T17:45:09.813 回答