DbContextOptionBuilder中未定义UseSqlServer

8

我正在尝试在我的控制台应用程序中配置实体框架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"

我正在使用微软EF 7文档中的示例代码,不确定我漏掉了什么。

-Alan-


你是否安装了 https://www.nuget.org/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final? - ErikEJ
@ErikEJ,是的,那就是我错过的。你能回答这个问题吗,这样我就可以把它标记为答案了吗? - Alan B
3个回答

20

如果你想使用MS SQL服务器,需要向你的项目中添加Microsoft.EntityFrameworkCore.SqlServer NuGet包。 Microsoft.EntityFrameworkCore.SqlServer

我正在使用.NET Core 2.0。我使用了以下命令: Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 2.0.0

这对我起作用了。


16

不要添加任何说明。 - Jurion

0

对于 EF 7,您还需要 SQL "驱动程序"

<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.2" /> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接