Ash*_*mar 4 c# entity-framework-core-3.0
我试图将BooksContext.cs文件保存在名为Contexts的文件夹中。
我Book在Entities文件夹中有一个类。因此,下面是BookContext.cs文件中的代码。
我在包管理器控制台中使用了以下命令来启用迁移。
PM>Enable-Migrations -ContextTypeName Books.API.Contexts.BooksContext
但是,我收到以下错误:该类型BooksContext不是从DbContext. 该DbMigrationsConfiguration.ContextType属性必须设置为继承自 的类型DbContext。
出现错误后,我不确定在哪里以及如何设置DbMigrationsConfiguration.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
// /sf/ask/2928046061/
}
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
小错误,但经过一天多的痛苦努力后,对我来说是很好的学习。我希望这也能成为其他人的良好学习。
我添加了两个 NuGet 包:EntityFramework 和 Microsoft.EntityFrameworkCore,这是我的错误。
只需为 Microsoft.EntityFrameworkCore 添加 NuGet 包即可完成所有必需的工作。