更新数据库:程序集中未找到DbContext

时间:2019-11-02 16:55:00

标签: c# entity-framework .net-core

我正在尝试使用代码优先方法在我的sql数据库中创建我的表,并即时获取 “在程序集'LibrarySystem'中未找到DbContext。请确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的。”软件包管理器控制台中的错误

我尝试了几种不同的解决方案,例如Migration: No DbContext was found in assembly

这是我的Context类,我在其中使用dbcontext

using System.Collections.Generic;
using System.Text;
using IDataInterface;
using Microsoft.EntityFrameworkCore;

namespace DataAccess
{
    public class LibraryContext : DbContext
    {
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlServer("Server = localhost; Database = Library; Trusted_connection = true");
        }
        public DbSet<Book> Books { get; set; }
        public DbSet<Shelf> Shelves { get; set; }
    }
}

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的办法。 由于我使用了多个项目DataInterface,DataAccess,LibrarySystem和UnitTests,因此这就是问题所在。解决该问题的方法是将默认项目更改为DataAccess,而不是其他项目之一。我很难理解的问题是,我试图从其中没有DbContext的默认项目更新数据库。