J'essaie d'implémenter Entity Framework 7 dans MVC 6, et sur cette page ici il dit de faire
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MusicStoreContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
Mais pour moi, la méthode UseSqlServer
n'est pas visible? Quelqu'un sait comment le rendre visible? Ou s'agit-il d'une ancienne façon de configurer le framework d'entité?
Mon fichier startup.cs ressemble à ceci
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>();
}
}
}
UseSqlServer
est une méthode d'extension dans l'espace de noms Microsoft.Data.Entity
vous devez donc importer cela dans votre code, comme ceci:
using Microsoft.EntityFrameworkCore;
Installer le package Microsoft.EntityFrameworkCore.SqlServer 1.0.1 fonctionne pour moi La version de Microsoft.EntityFrameworkCore est 1.1.0
Depuis que cela a été publié, les assemblys ont été renommés. Dans le cadre d'EntityFrameworkCore, vous devez maintenant ajouter une instruction using la suivante
using Microsoft.EntityFrameworkCore;
Et la méthode d'extension .UseSqlServer pour configurer votre contexte deviendra disponible
C'est un NuGet Packages Problem
Installez les packages suivants et ses versions appropriées
1. Microsoft.EntityFrameworkCore(Latest Version)
2. Microsoft.EntityFrameworkCore.SqlServer(1.0.4 Version)