2015-10-11 13 views
21

Próbuję zaimplementować Entity Framework 7 w MVC 6, a na tej stronie here mówi zrobićmetoda UseSqlServer brakuje MVC 6

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

ale dla mnie metoda UseSqlServer isnt widoczne? Czy ktoś wie, jak go pokazać? Czy jest to stary sposób konfigurowania struktury encji?

Mój plik startup.cs wygląda to

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

     } 
    } 
} 

Odpowiedz

20

UseSqlServer jest metoda rozszerzenie w obszarze nazw Microsoft.Data.Entity więc trzeba importować, że w kodzie, jak poniżej:

using Microsoft.Data.Entity; 

Edycja : Ta opinia jest teraz nieaktualna (i nie można jej usunąć, ponieważ jest to zaakceptowana odpowiedź). Przestrzenie nazw zmieniły się od tego czasu i powinieneś używać:

using Microsoft.EntityFrameworkCore; 
+0

Dziękuję To jest dokładnie to, co potrzebne – Gillardo

+0

działa doskonale ... teraz mam inny problem "Nie skonfigurowano żadnych dostawców baz danych. Skonfiguruj dostawcę bazy danych przez przesłonięcie OnConfiguring w twojej klasie DbContext lub w metodzie AddDbContext podczas konfigurowania usług. "Nie wiesz dlaczego, ponieważ mój plik startup.cs podaje conectionstring? – Gillardo

+0

Dźwięki łatwe do naprawienia, ale to kolejne pytanie :) – DavidG

26

Od tego czasu zostały zmienione nazwy zespołów. W ramach EntityFrameworkCore teraz trzeba dodać using oświadczenie o następującej treści

using Microsoft.EntityFrameworkCore; 

i metoda rozszerzenie .UseSqlServer skonfigurować swoją kontekst będzie dostępny

27

Install Microsoft.EntityFrameworkCore.SqlServer 1.0.1 Pakiet działa na mi Wersja Microsoft.EntityFrameworkCore jest 1.1.0

+0

tak, jest to najnowszy, dzięki –

+0

To jest poprawna odpowiedź od dnia 3/24/2017. NuGet: [Microsoft.EntityFrameworkCore.SqlServer] (https: //www.nuget. org/packages/Microsoft.EntityFrameworkCore.SqlServer /). – Win

+0

Działa jak pakiet instalacyjny pakietu Microsoft.EntityFrameworkCore.SqlServer – DaImTo

3

jest to Nuget Pakiety problemem

zainstalować następujące pakiety i jego właściwej wersji

  1. Microsoft.EntityFrameworkCore (najnowsza wersja)
  2. Microsoft.EntityFrameworkCore.SqlServer (1.0.4 Version)
Powiązane problemy