PetaPoco - Включение пользовательских частичных свойств класса в ответ WCF - PullRequest
1 голос
/ 12 марта 2012

Я экспериментировал с использованием 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");
            }
        }  

1 Ответ

1 голос
/ 12 марта 2012

Есть несколько вещей, чтобы заставить частичный WCF DataContracts работать.Во-первых, если другой класс Session помечен DataContract, то этот класс также должен быть помечен таким же образом.Предполагается, что класс ResultSession также сериализуем и / или помечен как DataContract.Другая проблема заключается в том, что WCF требует, чтобы свойства имели, как минимум, частных сеттеров , поэтому для свойства ConnectedUserCount необходимо изменить его на *. 1012 *

...