Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-1032

Support for more deserialization controls via ITypeSerializers

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Fixed
    • Major
    • 2.2.2
    • 2.2.1
    • library
    • None

    Description

      The current ITypeSerializer implementation works under the assumption that
      all serialization/deserialization requests should have the same behavior.
      Any client library which implements a custom ITypeSerializer overrides
      this behavior for all requests to Couchbase.

      However, there are instances where a specific request may require custom
      options. The particular example addressed here is change tracking in the
      Linq2Couchbase library. It needs to control the object creation process
      for some deserialization requests in order to create change tracking
      proxies.

      Additionally, we need a method for custom ITypeSerializer implementations
      to provide member name resolution information to consumers. This will
      allow Linq2Couchbase to determine the correct attribute names to use when
      building N1QL queries. Currently, it is forced to assume that the
      Newtonsoft.Json behavior is in use.

      Finally, there is currently no method to override the deserialization
      process for N1QL queries on a per-request basis.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            jmorris Jeff Morris
            jmorris Jeff Morris
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty