Estoy tratando de implementar Entity Framework 7 en MVC 6, y en esta página aquí dice que hacer
services.AddEntityFramework()
.AddSqlServer()
.AddDbContext<MusicStoreContext>(options =>
options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
Pero para mí, el método UseSqlServer
no es visible? ¿Alguien sabe cómo hacerlo visible? ¿O es esta una forma antigua de configurar el marco de la entidad?
Mi archivo startup.cs se ve así
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
es un método de extensión en el espacio de nombres Microsoft.Data.Entity
por lo que necesita importar eso en su código, como esto:
using Microsoft.Data.Entity;
Editar: Este consejo ya no está actualizado (y no puedo eliminarlo porque es la respuesta aceptada). Los espacios de nombres han cambiado desde entonces y ahora debería estar usando:
using Microsoft.EntityFrameworkCore;
Instalar el paquete Microsoft.EntityFrameworkCore.SqlServer 1.0.1 me funciona La versión de Microsoft.EntityFrameworkCore es 1.1.0