Отсутствует метод UseSqlServer MVC 6

Я пытаюсь внедрить Entity Framework 7 в MVC 6 и на этой странице здесь сказано сделать

services.AddEntityFramework()
    .AddSqlServer()
    .AddDbContext<MusicStoreContext>(options =>
                        options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));

Но для меня метод UseSqlServer не виден? Кто-нибудь знает, как сделать его видимым? Или это старый способ настройки структуры сущностей?

Мой файл startup.cs выглядит так

using FluentValidation;
using Microsoft.AspNet.Builder;
using Microsoft.AspNet.Hosting;
using Microsoft.Framework.ConfigurationModel;
using Microsoft.Framework.DependencyInjection;

namespace me.namespace.project
{
    public class Startup
    {
        public static IConfiguration Configuration { get; set; }

        public Startup(IHostingEnvironment env)
        {
            // Setup configuration sources.
            Configuration = new Configuration()
                .AddJsonFile("config.json")
                .AddEnvironmentVariables();
        }

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

            // entity framework
            services.AddEntityFramework()
                .AddSqlServer()
                .AddDbContext<DataContext>();

        }
    }
}

person Gillardo    schedule 11.10.2015    source источник


Ответы (4)


UseSqlServer — это метод расширения в пространстве имен Microsoft.Data.Entity, поэтому вам нужно импортировать его в свой код, например:

using Microsoft.EntityFrameworkCore;
person DavidG    schedule 11.10.2015
comment
Спасибо, это именно то, что мне было нужно - person Gillardo; 11.10.2015
comment
Работает отлично... появилась другая проблема, теперь говорят, что поставщики баз данных не настроены. Настройте поставщика базы данных, переопределив OnConfiguring в вашем классе DbContext или в методе AddDbContext при настройке служб. не уверен, почему, поскольку в моем файле startup.cs указана строка подключения? - person Gillardo; 11.10.2015
comment
Звучит достаточно легко исправить, но это уже другой вопрос :) - person DavidG; 11.10.2015
comment
Не было проблем - нужен комментарий @Win из другого ответа. - person CodeHxr; 20.08.2019

Установите пакет Microsoft.EntityFrameworkCore.SqlServer 1.0.1, который работает для меня. Версия Microsoft.EntityFrameworkCore — 1.1.0.

person Timur Lemeshko    schedule 19.01.2017
comment
Это правильный ответ на 24.03.2017. NuGet: Microsoft.EntityFrameworkCore.SqlServer. - person Win; 24.03.2017
comment
Работает как шарм установочный пакет Microsoft.EntityFrameworkCore.SqlServer - person DaImTo; 27.11.2017

Поскольку это было опубликовано, сборки были переименованы. Как часть EntityFrameworkCore, теперь вам нужно добавить оператор using следующим образом.

using Microsoft.EntityFrameworkCore;

И станет доступен метод расширения .UseSqlServer для настройки вашего контекста

person Anastasiosyal    schedule 01.09.2016

It's a NuGet Packages Problem

Установите следующие пакеты и их правильные версии

 1.  Microsoft.EntityFrameworkCore(Latest Version)
 2.  Microsoft.EntityFrameworkCore.SqlServer(1.0.4 Version)
person PARAG DESHMUKH    schedule 04.07.2017