2015-10-11 17 views
21

Tôi cố gắng để thực hiện Entity Framework 7 trong MVC 6, và trên trang này here nó nói để làmphương pháp UseSqlServer thiếu MVC 6

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

Nhưng đối với tôi, UseSqlServer phương pháp isnt thấy được? Bất cứ ai cũng biết làm thế nào để làm cho nó có thể nhìn thấy? Hoặc đây có phải là cách cấu hình khung thực thể cũ không?

tập tin startup.cs của tôi trông như thế này

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

     } 
    } 
} 

Trả lời

20

UseSqlServer là một phương pháp mở rộng trong không gian tên Microsoft.Data.Entity vì vậy bạn cần phải nhập khẩu mà trong mã của bạn, như thế này:

using Microsoft.Data.Entity; 

Sửa : Lời khuyên này hiện đã lỗi thời (và tôi không thể xóa nó do đó là câu trả lời được chấp nhận). Các không gian tên đã thay đổi và bây giờ bạn sẽ sử dụng:

using Microsoft.EntityFrameworkCore; 
+0

Cảm ơn bạn này là chính xác những gì tôi cần – Gillardo

+0

trình một cách hoàn hảo ... có vấn đề khác bây giờ nói "Không có nhà cung cấp cơ sở dữ liệu nào được định cấu hình. Cấu hình nhà cung cấp cơ sở dữ liệu bằng cách ghi đè OnConfiguring trong lớp DbContext của bạn hoặc trong phương thức AddDbContext khi thiết lập dịch vụ. "Không chắc chắn tại sao, như tệp startup.cs của tôi đang nói chuỗi conection? – Gillardo

+0

Âm thanh đủ dễ sửa, nhưng đó là một câu hỏi khác :) – DavidG

26

Vì điều này đã được đăng, hội đồng đã được đổi tên. Là một phần của EntityFrameworkCore bây giờ bạn cần phải thêm một tuyên bố bằng cách sử dụng sau đây

using Microsoft.EntityFrameworkCore; 

Và phương pháp mở rộng .UseSqlServer để cấu hình ngữ cảnh của bạn sẽ trở nên có sẵn

27

Install Microsoft.EntityFrameworkCore.SqlServer 1.0.1 gói làm việc cho tôi Phiên bản Microsoft.EntityFrameworkCore là 1.1.0

+0

có, đây là phiên bản mới nhất, cảm ơn –

+0

Đây là câu trả lời đúng kể từ 24/3/2017. NuGet: [Microsoft.EntityFrameworkCore.SqlServer] (https: //www.nuget. org/packages/Microsoft.EntityFrameworkCore.SqlServer /) – Win

+0

Hoạt động như một gói cài đặt quyến rũ Microsoft.EntityFrameworkCore.SqlServer – DaImTo

3

Đó là một NuGet Packages vấn đề

Cài đặt các gói sau và với phiên bản đúng của nó

  1. Microsoft.EntityFrameworkCore (Phiên bản mới nhất)
  2. Microsoft.EntityFrameworkCore.SqlServer (1.0.4 Version)
Các vấn đề liên quan