UseSqlServer 未在 DbContextOptionBuilder 中定义

UseSqlServer is not defined in DbContextOptionBuilder

我正在尝试在我的控制台应用程序中配置 entity framework 7。

但是,我注意到 DbContextOptionBuilder

中没有定义 "UseSqlServer"

这是代码

public class LetsBreakITContext : DbContext
    {
        public DbSet<Book> Books { get; set; }
        public DbSet<Country> Countries { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer(@"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;");
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            //country
            modelBuilder.Entity<Country>(c =>
           {
               c.HasKey(e => e.CountryId);
               c.Property(e => e.CountryId).ValueGeneratedOnAdd();
               c.Property(e => e.CountryId).IsRequired();
               c.Property(e => e.Name).IsRequired();
           });
            //Book
            modelBuilder.Entity<Book>(l =>
            {
                l.HasKey(e => e.BookId);
                l.Property(e => e.BookId).ValueGeneratedOnAdd();
                l.Property(e => e.CountryId).IsRequired();
                l.Property(e => e.Name).IsRequired();
            });
        }
    }

我使用 Nuget 添加了 EF 7“install-package entityframework.commands -pre

我正在使用 Microsoft 的 EF 7 文档中的示例代码 不确定我在这里遗漏了什么。

-艾伦-

您需要安装 SqlServer 提供程序:https://www.nuget.org/Packages/Microsoft.EntityFrameworkCore.SqlServer/

如果您想使用 MS SQL 服务器,请将 Microsoft.EntityFrameworkCore.SqlServer nuget 包添加到您的项目中 Microsoft.EntityFrameworkCore.SqlServer

我正在使用 .NET Core 2.0。我用了: 安装包 Microsoft.EntityFrameworkCore.SqlServer - 版本 2.0.0

它对我有用。