如何在MVC 8.0中正确配置`ConfigureServices`方法的`services.AddDbContext`

问题描述 投票:0回答:1
I am trying to add migartion to my database i keep having this error.Please  i am  a rookie to MVC.My code

using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace DemoRepository.Model
{
    public class ProdDBContext : DbContext
    {
        public DbSet<Worker> Workers { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {

            if (optionsBuilder.IsConfigured)
            {
                optionsBuilder.UseSqlServer("Server=DESKTOP-1M2N4KR\\EMMA;Database=Rocky;Integrated Security=true; Trusted_Connection=True;TrustServerCertificate=True;");


            }
            base.OnConfiguring(optionsBuilder);
        }

        public void ConfigureServices(IServiceCollection services)
        {
            IServiceCollection serviceCollection = services.AddDbContext<ProdDBContext>(
           options => options.UseSqlServer("Server=DESKTOP-1M2N4KR\\HQ;Database=Rocky;Integrated Security=true;Trusted_Connection=True;TrustServerCertificate=True;"));
        }
    }

}


Error Message 
Unable to create a 'DbContext' of type ''. The exception 'No database provider has been configured for this DbContext. A provider can be configured by overriding the 'DbContext.OnConfiguring' method or by using 'AddDbContext' on the application service provider. If 'AddDbContext' is used, then also ensure that your DbContext type accepts a DbContextOptions<TContext> object in its constructor and passes it to the base constructor for DbContext.' was thrown while attempting to create an instance. For the different patterns supported at design time, see https://go.microsoft.com/fwlink/?linkid=851728

我的问题基本上是我无法将迁移添加到数据库。我不断收到上面发布的错误消息。我已经安装了 Entityframework core、Entityframework、sql,最后安装了 Entityframework.Tools。请帮助我。

model-view-controller dbcontext
1个回答
0
投票

公共 DbSet Workers { get;放; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {

        if (!optionsBuilder.IsConfigured)
        {
            optionsBuilder.UseSqlServer("Server=DESKTOP-1M2N4KR\\HQ;Database=Rocky;Integrated Security=true; Trusted_Connection=True;TrustServerCertificate=True;");


        }
        base.OnConfiguring(optionsBuilder);
    }

   

}

© www.soinside.com 2019 - 2024. All rights reserved.