DbContextBuilder不包含UseSqlite的定义

时间:2018-09-08 20:24:51

标签: c# sqlite uwp entity-framework-core

我是UWP的新手,我正在尝试设置项目以使用SQLite数据库,而我正在使用Microsoft.EntityFrameworkCore.SQLite。

当我尝试设置数据库上下文时,我不断收到此错误。

  

DbContextOptionsBuilder不包含UseSqlite的定义,并且找不到使用DBcontextoptionsbuilder类型的第一个参数的可访问扩展方法(您使用的是指令还是程序集引用)

这是我的代码

using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BradamaInternationalSkill.Models
{
    /// <summary>
    /// The Entity Framework Database Context.
    /// </summary>
    public class PersonContext : DbContext
    {
        internal DbSet<Person> People { get; set; }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlite("Filename=People.db");
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            // Make Id required.
            modelBuilder.Entity<Person>()
                .Property(p => p.Id)
                .IsRequired();

            // Make Name required.
            modelBuilder.Entity<Person>()
                .Property(p => p.Name)
                .IsRequired();
        }
    }
}

1 个答案:

答案 0 :(得分:2)

我通过卸载Nuget包“ Microsoft Entity Framework Core”并安装“ Entity.Framework.Core.Sqlite.Design”解决了该问题。我不知道为什么它可以解决问题,但是错误消失了,我很高兴,这就是全部。