小编Ben*_*Ben的帖子

Castle Windsor Ms Adapter Core 2.0实施

有人可以根据这里提供的Halil Kalkan(@hikalkan)的指示进行扩展:https://github.com/volosoft/castle-windsor-ms-adapter

ORIGINAL - 使用标准Microsoft DI工作

public void ConfigureServices(IServiceCollection services)
    {
        services.AddAutoMapper();
        services.AddMvc();
        services.AddApiVersioning();

        services.AddDbContextPool<CIDMSContext>(options => options.UseSqlServer(""));
        services.AddScoped<IBuildingRepository, BuildingRepository>();
        services.AddScoped<IComponentRepository, ComponentRepository>();
    }
Run Code Online (Sandbox Code Playgroud)

新 - 不起作用.试图使用Castle.Windsor.MsDependencyInjection

public IServiceProvider ConfigureServices(IServiceCollection services)
    {
        services.AddAutoMapper();
        services.AddMvc();
        services.AddApiVersioning();

        services.AddDbContextPool<CIDMSContext>(options => options.UseSqlServer(""));
        //services.AddScoped<IBuildingRepository, BuildingRepository>();
        //services.AddScoped<IComponentRepository, ComponentRepository>();

        return WindsorRegistrationHelper.CreateServiceProvider(
            new WindsorContainer(), services);
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误:

尝试激活时,无法解析类型'... Repositories.Buildings.IBuildingRepository'的服务... Controllers.BuildingController'

我的最终目标是不必为我创建的每个存储库提供DI.我希望Castle Windsor按照惯例去DI它.如果还有其他选择为.Net Core 2.0做这个,那么我也对这些选项持开放态度.

我正在使用Visual Studio 15.4.1 .Net Core 2.0 API项目.

c# dependency-injection castle-windsor asp.net-core

4
推荐指数
1
解决办法
2013
查看次数

EFCore Linq然后将两个外键包含在同一个表中

有谁看到我做错了什么?
ProjectActivityTasksUnitOfMeasureIdProjectActivityTaskTypeId.随着它的编写方式,它认为这样UnitOfMeasureProjectActivityTaskType.它示数出来就ThenIncludeUnitOfMeasure他说

ProjectActivityTaskType不包含UnitOfMeasure的定义

哪个是对的.UnitOfMeasureProjectActivityTasks.

我正在引用此页面但它似乎没有这样工作:https://docs.microsoft.com/en-us/ef/core/querying/related-data

var qry = await _projectActivityRepository.GetAll()
.Include(x => x.ProjectActivityVehicles)
  .ThenInclude(x => x.Vehicle)
.Include(x => x.ProjectActivityTasks)
  .ThenInclude(x => x.ProjectActivityTaskType)
  .ThenInclude(x => x.UnitOfMeasure)
.Where(x => x.Id == Id && x.TenantId == (int)AbpSession.TenantId)
.FirstOrDefaultAsync();
Run Code Online (Sandbox Code Playgroud)

c# linq-to-entities entity-framework-core asp.net-core

2
推荐指数
1
解决办法
440
查看次数