2015-10-11 144 views
21

我想實現實體框架7 MVC 6,而這個頁面here它說做UseSqlServer方法缺少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>(); 

     } 
    } 
} 

回答

20

UseSqlServer是在命名空間的擴展方法Microsoft.Data.Entity,所以你需要導入你的代碼,就像這樣:

using Microsoft.Data.Entity; 

編輯: 此建議現在已過時(我無法刪除它,因爲它是被接受的答案)。命名空間已經改變,您現在應該使用:

using Microsoft.EntityFrameworkCore; 
+0

謝謝你,這是正是我需要的 – Gillardo

+0

完美的作品......現在得到了另一個問題說「沒有配置數據庫提供者。在設置服務時,通過在DbContext類或AddDbContext方法中重寫OnConfiguring來配置數據庫提供程序。「不知道爲什麼,因爲我的startup.cs文件說明了conectionstring? – Gillardo

+0

聲音很容易修復,但這是另一個問題:) – DavidG

26

由於已發佈,程序集已重命名。作爲EntityFrameworkCore的一部分,您現在需要添加一個using語句下面

using Microsoft.EntityFrameworkCore; 

而且.UseSqlServer擴展方法來配置方面將變得可用

27

安裝Microsoft.EntityFrameworkCore.SqlServer 1.0.1包裝工程我 Microsoft.EntityFrameworkCore的版本是1.1.0

+0

是的,這是最新的,謝謝 –

+0

這是截至2017年3月24日的正確答案NuGet:[Microsoft.EntityFrameworkCore.SqlServer](https://www.nuget。 org/packages/Microsoft.EntityFrameworkCore.SqlServer /)。 – Win

+0

像一個魅力安裝包Microsoft.EntityFrameworkCore.SqlServer – DaImTo

3

這是一個的NuGet軟件包問題

安裝以下軟件包,並影響其正常版本

  1. Microsoft.EntityFrameworkCore(最新版)
  2. Microsoft.EntityFrameworkCore.SqlServer(1.0.4版)