如何在WebAPI 3层架构中正确配置DbContext?

问题描述

我正在尝试使用3-Tier体系结构在WebAPI中创建一个项目,我想首先使用EntityFramework代码添加数据库。据我了解,我需要将数据上下文添加到WebAPi项目Startup.cs中,因为我总是会得到未配置DbContext的异常。

 public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddDbContext<DatabaseContext>();
        }

并且似乎破坏了体系结构,因为我需要使用DataAccess添加 来连接我的DbContext。我是对的,如果是这样,如何正确连接我的DBContext?

DatabaseContext.cs

namespace Data.Context
{
    public class DatabaseContext : DbContext
    {
        public class OptionsBuild
        {
            public OptionsBuild()
            {
                settings = new AppConfiguration();
                optionsBuilder = new DbContextOptionsBuilder<DatabaseContext>();
                optionsBuilder.UseSqlServer(settings.SqlConnectionString);
                databaseOptions = optionsBuilder.Options;
            }
            public DbContextOptionsBuilder<DatabaseContext> optionsBuilder { get; set; }
            public DbContextOptions<DatabaseContext> databaseOptions { get; set; }
            private AppConfiguration settings { get; set; }
        }

        public static OptionsBuild options = new OptionsBuild();

        public DatabaseContext() { }
        public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options) { }

        public DbSet<UserEntity> UserEntities { get; set; }
        public DbSet<RoleEntity> RoleEntities { get; set; }
        public DbSet<TestEntity> TestEntities { get; set; }
    }
}

我想我没有提供足够的代码供您回答。如果是这样,请告诉我要添加的内容,因为我真的不知道有什么用。预先感谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)