Exemplo n.º 1
0
        public static IApplicationBuilder UseOData <T>([NotNull] this IApplicationBuilder app, string prefix) where T : class
        {
            var defaultAssemblyProvider = app.ApplicationServices.GetRequiredService <IAssemblyProvider>();

            AssemblyProviderManager.Register(defaultAssemblyProvider);

            return(app.UseRouter(new ODataRoute(prefix, DefaultODataModelProvider.BuildEdmModel(typeof(T)))));
        }
Exemplo n.º 2
0
        //public static IRouteBuilder MapODataRoute<T>(this IRouteBuilder builder, string prefix) where T : class
        //{
        //    builder.Routes.Add(new ODataRoute(prefix, DefaultODataModelProvider.BuildEdmModel(typeof(T))));
        //    return builder;
        //}

        public static IServiceCollection AddOData <T>([NotNull] this IServiceCollection services,
                                                      Action <ODataConventionModelBuilder> after = null)
            where T : class
        {
            services.AddOData();
            var type          = typeof(T);
            var assemblyNames = new AssembliesResolver(type.GetTypeInfo().Assembly);
            var model         = DefaultODataModelProvider.BuildEdmModel(type, assemblyNames, after);

            services.AddSingleton(model);
            services.AddSingleton(assemblyNames);
            return(services);
        }
Exemplo n.º 3
0
 public static IRouteBuilder MapODataRoute <T>(this IRouteBuilder builder, string prefix) where T : class
 {
     builder.Routes.Add(new ODataRoute(prefix, DefaultODataModelProvider.BuildEdmModel(typeof(T))));
     return(builder);
 }