DbContextOptionBuilder中未定义UseSqlServer

时间:2016-04-30 05:09:44

标签: c# entity-framework visual-studio-2015 entity-framework-core

我正在尝试在我的控制台应用程序中配置实体框架7。

然而,我注意到" UseSqlServer"未在DbContextOptionBuilder中定义

这是代码

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&#34; install-package entityframework.commands -pre &#34;

添加了EF 7

我正在使用Microsoft的EF 7文档中的示例代码 不知道我在这里缺少什么。

-Alan -

2 个答案:

答案 0 :(得分:9)

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

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

它对我有用。

答案 1 :(得分:4)