Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我的上下文不从实体框架核心中的DbContext继承_C#_Entity Framework Core 3.0 - Fatal编程技术网

C# 我的上下文不从实体框架核心中的DbContext继承

C# 我的上下文不从实体框架核心中的DbContext继承,c#,entity-framework-core-3.0,C#,Entity Framework Core 3.0,我试图将BooksContext.cs文件保存在名为Contexts的文件夹中 我在实体文件夹中有一本书类。因此,下面是BookContext.cs文件中的代码 我在PackageManager控制台上使用了以下命令来启用迁移 PM>启用迁移-ContextTypeName Books.API.Contexts.BooksContext 但是,我得到了以下错误: 类型BooksContext不是从DbContext继承的。必须将DbMigrationsConfiguration.ContextT

我试图将
BooksContext.cs
文件保存在名为Contexts的文件夹中

我在实体文件夹中有一本
类。因此,下面是
BookContext.cs
文件中的代码

我在PackageManager控制台上使用了以下命令来启用迁移

PM>启用迁移-ContextTypeName Books.API.Contexts.BooksContext

但是,我得到了以下错误: 类型
BooksContext
不是从
DbContext
继承的。必须将
DbMigrationsConfiguration.ContextType
属性设置为从
DbContext
继承的类型

错误发生后,我不确定在何处以及如何设置
dbmigrionisconfiguration.ContextType
属性

我无法从谷歌那里得到太多的帮助,我也不确定我错过了什么。谁能帮帮我吗

namespace Books.API.Contexts
{
    public class BooksContext : DbContext
    {
        public DbSet<Book> Books { get; set; }

        public BooksContext(DbContextOptions<BooksContext> options)
            : base(options)
        {
            // Tried the accepted answer from below URL, but did not work
            // https://stackoverflow.com/questions/41829229/how-do-i-implement-dbcontext-inheritance-for-multiple-databases-in-ef7-net-co
        }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Author>().HasData(
                new Author
                {
                    Id = Guid.Parse("e4da4ec7-0fe1-46d8-a133-4374ccd54df9"),
                    FirstName = "George",
                    LastName = "RR Martin"
                },
                new Author
                {
                    Id = Guid.Parse("5afd341b-95df-427a-80df-3ed0995a5da6"),
                    FirstName = "Stephen",
                    LastName = "Fry"
                },
                new Author
                {
                    Id = Guid.Parse("4c8bd0d6-14b1-4284-9be1-1cb78c9fc871"),
                    FirstName = "James",
                    LastName = "Elroy"
                },
                new Author
                {
                    Id = Guid.Parse("fc433048-0153-4230-a15b-df1808de27d6"),
                    FirstName = "Douglass",
                    LastName = "Adams"
                }
            );

            modelBuilder.Entity<Book>().HasData(
                new Book
                {
                    Id = Guid.Parse("92f5d8a9-0141-4bbc-8ee1-61ecdab16cda"),
                    AuthorId = Guid.Parse("e4da4ec7-0fe1-46d8-a133-4374ccd54df9"),
                    Title = "The Winds of Winter",
                    Description = "The book that seems like impossible to write."
                },
                new Book
                {
                    Id = Guid.Parse("1c4ea7c7-f410-4173-b6bd-900f0dd95472"),
                    AuthorId = Guid.Parse("5afd341b-95df-427a-80df-3ed0995a5da6"),
                    Title = "A Game of Throws",
                    Description = "First novel in a song of Ice and Fire"
                },
                new Book
                {
                    Id = Guid.Parse("fd15e575-3d0c-4b92-9b40-63d0f7d58108"),
                    AuthorId = Guid.Parse("4c8bd0d6-14b1-4284-9be1-1cb78c9fc871"),
                    Title = "Mythos",
                    Description = "The Greek myths are amongst the best stories ever told"
                },
                new Book
                {
                    Id = Guid.Parse("d544691c-1a10-4dcd-853a-f7bbd90543ff"),
                    AuthorId = Guid.Parse("fc433048-0153-4230-a15b-df1808de27d6"),
                    Title = "American Tabloid",
                    Description = "It is a 1995 novel"
                }
            );
            base.OnModelCreating(modelBuilder);
        }
    }
}
namespace Books.API.context
{
公共类BooksContext:DbContext
{
公共数据库集书籍{get;set;}
公共BookContext(DbContextOptions选项)
:基本(选项)
{
//尝试从下面的URL接受答案,但无效
// https://stackoverflow.com/questions/41829229/how-do-i-implement-dbcontext-inheritance-for-multiple-databases-in-ef7-net-co
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Entity().HasData(
新作者
{
Id=Guid.Parse(“e4da4ec7-0fe1-46d8-a133-4374ccd54df9”),
FirstName=“乔治”,
LastName=“RR Martin”
},
新作者
{
Id=Guid.Parse(“5afd341b-95df-427a-80df-3ed0995a5da6”),
FirstName=“斯蒂芬”,
LastName=“Fry”
},
新作者
{
Id=Guid.Parse(“4c8bd0d6-14b1-4284-9be1-1cb78c9fc871”),
FirstName=“詹姆斯”,
LastName=“埃尔罗伊”
},
新作者
{
Id=Guid.Parse(“fc433048-0153-4230-a15b-df1808de27d6”),
FirstName=“道格拉斯”,
LastName=“Adams”
}
);
modelBuilder.Entity().HasData(
新书
{
Id=Guid.Parse(“92f5d8a9-0141-4bbc-8ee1-61ecdab16cda”),
AuthorId=Guid.Parse(“e4da4ec7-0fe1-46d8-a133-4374ccd54df9”),
Title=“冬天的风”,
Description=“这本似乎不可能写的书。”
},
新书
{
Id=Guid.Parse(“1c4ea7c7-f410-4173-b6bd-900f0dd95472”),
AuthorId=Guid.Parse(“5afd341b-95df-427a-80df-3ed0995a5da6”),
Title=“投掷游戏”,
Description=“冰与火之歌中的第一部小说”
},
新书
{
Id=Guid.Parse(“fd15e575-3d0c-4b92-9b40-63d0f7d58108”),
AuthorId=Guid.Parse(“4c8bd0d6-14b1-4284-9be1-1cb78c9fc871”),
Title=“Mythos”,
Description=“希腊神话是有史以来最好的故事之一”
},
新书
{
Id=Guid.Parse(“d544691c-1a10-4dcd-853a-f7bbd90543ff”),
AuthorId=Guid.Parse(“fc433048-0153-4230-a15b-df1808de27d6”),
Title=“美国小报”,
Description=“这是一部1995年的小说”
}
);
基于模型创建(modelBuilder);
}
}
}

小错误,但在花了一天多的痛苦努力后,我学到了很多东西。我希望这对其他人也是一个很好的学习

我添加了两个NuGet软件包:EntityFramework和Microsoft.EntityFrameworkCore,这是我的错误


只需为Microsoft.EntityFrameworkCore添加NuGet软件包即可完成所有必需的工作。

您是否有自定义的
DbContext
类来隐藏EF的
DbContext
?不,我没有自定义的
DbContext
类来隐藏EF的
DbContext
。我所做的只是在
Contexts
文件夹中创建
BooksContext
类。也许我遗漏了一些东西,但我看不出代码中有明显的错误。我想说它确实继承了DbContext。您是否尝试过清理和重建解决方案?
启用迁移
是EF6命令,在EF Core中不需要。请参阅如何安装和使用EF Core PMC命令。@Fildor:很抱歉回复太晚。是的,我尝试了所有可用的选择,但没有锁。我的疑问是:既然我在
context
文件夹中创建了
DbContext
类,这个问题就解决了。这不是我的经验。一旦我从NuGet中删除EntityFramework,我就开始出现其他错误。。。您的目标项目“MyProject”未引用EntityFramework。您必须有一个引用,即EntityFramework或Microsoft.EntityFrameworkCore。您的错误表明-您的目标项目“MyProject”没有引用EntityFramework我确实有Microsoft.EntityFrameworkCore,但我有错误。然后我做的是删除所有的EF引用,并将它们重新添加,确保我选择了我的项目。然后一切都成功了。我给微软打电话。对不起,我无法理解你的部分陈述。“我称微软有漏洞”是什么意思?