Beispiel #1
0
        public ODataAdapter(ISession session, IODataModelAdapter modelAdapter)
        {
            _session        = session;
            ProtocolVersion = modelAdapter.ProtocolVersion;
            Model           = modelAdapter.Model as IEdmModel;

            CustomConverters.RegisterTypeConverter(typeof(GeographyPoint), TypeConverters.CreateGeographyPoint);
            CustomConverters.RegisterTypeConverter(typeof(GeometryPoint), TypeConverters.CreateGeometryPoint);
        }
    public ODataAdapter(ISession session, IODataModelAdapter modelAdapter)
    {
        _session        = session;
        ProtocolVersion = modelAdapter.ProtocolVersion;
        Model           = modelAdapter.Model as IEdmModel;

        session.TypeCache.Converter.RegisterTypeConverter(typeof(GeographyPoint), TypeConverters.CreateGeographyPoint);
        session.TypeCache.Converter.RegisterTypeConverter(typeof(GeometryPoint), TypeConverters.CreateGeometryPoint);
        session.TypeCache.Converter.RegisterTypeConverter(typeof(DateTime), TypeConverters.ConvertToEdmDate);
        session.TypeCache.Converter.RegisterTypeConverter(typeof(DateTimeOffset), TypeConverters.ConvertToEdmDate);
    }
Beispiel #3
0
        private Func <ISession, IODataAdapter> GetAdapterLoader(IODataModelAdapter modelAdapter)
        {
            if (modelAdapter.ProtocolVersion == ODataProtocolVersion.V1 ||
                modelAdapter.ProtocolVersion == ODataProtocolVersion.V2 ||
                modelAdapter.ProtocolVersion == ODataProtocolVersion.V3)
            {
                return(session => LoadAdapter(AdapterV3AssemblyName, AdapterV3TypeName, session, modelAdapter));
            }
            if (modelAdapter.ProtocolVersion == ODataProtocolVersion.V4)
            {
                return(session => LoadAdapter(AdapterV4AssemblyName, AdapterV4TypeName, session, modelAdapter));
            }

            return(null);
        }
Beispiel #4
0
 public DefaultODataAdapter(ISession session, IODataModelAdapter modelAdapter)
     : base(session, modelAdapter)
 {
     _session = session;
 }
 public CustomAdapter(ISession session, IODataModelAdapter modelAdapter) : base(session, modelAdapter)
 {
     this.session = session;
 }
Beispiel #6
0
 public CompositeMetadataODataAdapter(ISession session, IODataModelAdapter modelAdapter,
                                      params Func <IMetadata, WrapperMedata>[] compositeMetadataFuctions)
     : base(session, modelAdapter) => CompositeMetadataFuctions = compositeMetadataFuctions;
 private IODataAdapter LoadAdapter(string adapterAssemblyName, string adapterTypeName, ISession session, IODataModelAdapter modelAdapter)
 {
     // load adapter from user defined factory, if assigned and the factory can load for the target version
     if (session.Settings.AdapterFactory != null && session.Settings.AdapterFactory.CanLoadForModel(modelAdapter))
     {
         return(session.Settings.AdapterFactory.LoadAdapter(session, modelAdapter));
     }
     try
     {
         return(CallConstructor(adapterAssemblyName, adapterTypeName, session, modelAdapter) as IODataAdapter);
     }
     catch (Exception exception)
     {
         throw new InvalidOperationException(string.Format("Unable to load OData adapter from assembly {0}", adapterAssemblyName), exception);
     }
 }