Класс DbContext - ASP. Net .Core - PullRequest
       1

Класс DbContext - ASP. Net .Core

0 голосов
/ 11 марта 2020

Как я могу применить :base("name=connectionstring_name") in ASP. NET Core? Потому что моя Visual Studio показывает cannot convert from 'string' to 'Microsoft.EntityFrameworkCore.DbContextOptions'.

namespace SchoolDataLayer
{
    public class Context: DbContext 
    {
        public SchoolDBContext() : base("name=SchoolDBConnectionString") 
        {
        }
    }
}
public SchoolDBContext() : base("name=SchoolDBConnectionString") 

1 Ответ

0 голосов
/ 11 марта 2020

Как говорит ошибка, вы должны передать DbContextOptions класс вместо строки подключения. Экземпляр DbContextOptions содержит информацию о конфигурации, такую ​​как:

  • Используемый поставщик базы данных, обычно выбираемый путем вызова метода, такого как UseSqlServer или UseSqlite. Этим методам расширения требуется соответствующий пакет провайдера, например Microsoft.EntityFrameworkCore.SqlServer или Microsoft.EntityFrameworkCore.Sqlite. Методы определены в пространстве имен Microsoft.EntityFrameworkCore.
  • Любая необходимая строка подключения или идентификатор экземпляра базы данных, обычно передаваемый в качестве аргумента методу выбора поставщика, упомянутому выше
  • Любой уровень поставщика опциональные селекторы поведения, как правило, также прикованные внутри вызова метода выбора провайдера
  • Любые общие селекторы поведения EF Core, обычно прикованные после или до метода селектора провайдера

, вот пример :

public class Context: SchoolDbContext
{
    public SchoolDbContext(DbContextOptions<SchoolDbContext> options)
        : base(options)
    {
    }
}

для получения дополнительной информации читайте https://docs.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...