This commit is contained in:
28810 2019-03-15 11:15:52 +08:00
parent 63c19f8702
commit fccc3fc8b9

View File

@ -11,6 +11,7 @@ using restful.Entitys;
using Swashbuckle.AspNetCore.Swagger; using Swashbuckle.AspNetCore.Swagger;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Linq;
using System.Text; using System.Text;
namespace repository_01 { namespace repository_01 {
@ -54,7 +55,6 @@ namespace repository_01 {
public IServiceProvider ConfigureServices(IServiceCollection services) { public IServiceProvider ConfigureServices(IServiceCollection services) {
services.AddSingleton<IFreeSql>(Fsql);
//services.AddTransient(s => s.) //services.AddTransient(s => s.)
services.AddMvc(); services.AddMvc();
@ -66,6 +66,30 @@ namespace repository_01 {
//options.IncludeXmlComments(xmlPath); //options.IncludeXmlComments(xmlPath);
}); });
services.AddSingleton<IFreeSql>(Fsql);
//var baseType = typeof(IRepository);
//var freeTypes = baseType.Assembly.GetTypes().Where(t => baseType.IsAssignableFrom(t));
//foreach (var type in freeTypes) {
// if ((type.IsInterface || type.IsAbstract) && type.IsGenericType) {
// if (type.GenericTypeArguments.Length == 1)
// services.AddScoped(type, sp => {
// return Activator.CreateInstance(typeof(GuidRepository<>).MakeGenericType(type.GenericTypeArguments[0]), sp.GetService<IFreeSql>());
// });
// else
// services.AddScoped(type, sp => {
// return Activator.CreateInstance(typeof(DefaultRepository<,>).MakeGenericType(type.GenericTypeArguments[0], type.GenericTypeArguments[1]), sp.GetService<IFreeSql>());
// });
// continue;
// }
// services.AddScoped(type);
//}
//var types = GetType().Assembly.GetTypes().Where(t => baseType.IsAssignableFrom(t) && !t.IsAbstract);
//foreach (var type in types) {
// services.AddScoped(type);
//}
var builder = new ContainerBuilder(); var builder = new ContainerBuilder();
builder.RegisterFreeRepository( builder.RegisterFreeRepository(