user2736022 user2736022 - 3 months ago 33
ASP.NET (C#) Question

UseSqlServer method missing MVC 6

I am trying to implement Entity Framework 7 in MVC 6, and on this page here it says to do

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


But for me, the
UseSqlServer
method isnt visible? Anyone know how to make it visible? Or is this an old way of configuring entity framework?

My startup.cs file looks like this

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>();

}
}
}

Answer

UseSqlServer is an extension method in the namespace Microsoft.Data.Entity so you need to import that in your code, like this:

using Microsoft.Data.Entity;