0

我正在使用 Angular 和 asp.net 核心模板。

我需要使用一些现有的外部数据库。所以我运行下面的命令从我的数据库生成一个 DbContext 。

我不确定如何将 DbContext 注入应用程序?如何配置 IRepository 以使用一组自动生成的 DbContexts?

谢谢

Scaffold-DbContext "Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir 模型

4

1 回答 1

0

我在 aspnetboiler 上检查了一个示例应用程序,并且有一个 DbContext 配置,你试过吗?

using System;
using Abp.Dependency;
using MyProject.EntityFrameworkCore;
using MyProject.Identity;
using Castle.MicroKernel.Registration;
using Castle.Windsor.MsDependencyInjection;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;

namespace MyProject.Tests.DependencyInjection
{
    public static class ServiceCollectionRegistrar
    {
        public static void Register(IIocManager iocManager)
        {
            var services = new ServiceCollection();

            IdentityRegistrar.Register(services);

            services.AddEntityFrameworkInMemoryDatabase();

            var serviceProvider = WindsorRegistrationHelper.CreateServiceProvider(iocManager.IocContainer, services);

            var builder = new DbContextOptionsBuilder<MyProjectDbContext>();
            builder.UseInMemoryDatabase(Guid.NewGuid().ToString()).UseInternalServiceProvider(serviceProvider);

            // This line is for db context registration

            iocManager.IocContainer.Register(
                Component
                    .For<DbContextOptions<MyProjectDbContext>>()
                    .Instance(builder.Options)
                    .LifestyleSingleton()
            );
        }
    }
}

我希望这有帮助

于 2017-07-30T02:39:24.593 回答