entity-framework-core-2.2 - 如何创建类库 proejct 来处理实体框架核心 2.2 中的迁移和数据库对象?
问题描述
我创建了一个 .net core 2.2 web mvc 应用程序。然后我创建了一个 .net core 2.2 类库来包含我所有的数据库模型。尝试运行初始迁移时,出现错误无法创建类型为“X”的对象。
我在主 Web 项目中引用了我的类库,将其设置为启动,并在包管理器控制台中将默认项目设置为类库。
我希望这会创建我的迁移,但我收到此错误。
public class ProjectWalesDbContext : DbContext
{
public ProjectWalesDbContext(DbContextOptions<ProjectWalesDbContext> options)
: base(options)
{ }
public DbSet<User> Users { get; set; }
public DbSet<UserCourse> UserCourses { get; set; }
public DbSet<Course> UserCourse { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>()
.Property(b => b.created_at)
.HasDefaultValueSql("getdate()");
modelBuilder.Entity<User>()
.Property(b => b.password_reset_date)
.HasDefaultValueSql("getdate()");
modelBuilder.Entity<User>()
.Property(b => b.password_reset_required)
.HasDefaultValueSql("0");
modelBuilder.Entity<UserCourse>()
.Property(b => b.course_progress)
.HasDefaultValueSql("0");
}
}
这是我设置的数据库上下文,我在其他项目中设置它的方式相同,所以我看不出我做错了什么。任何帮助将不胜感激
解决方案
解决了,我需要添加以下行:
services.AddDbContext<ProjectWalesDbContext>(item => item.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
到网络应用程序的启动,所以我可以创建上下文。
推荐阅读
- performance - 如何避免下载js文件和认证ember SPA
- eclipse - 在eclipse中安装springsource-tool-suite的一些问题
- sql - “FETCH”和“FETCH FIRST”有区别吗?
- arduino - 如何使服务器能够使用 arduino for ESP32 WebServer 自动下载文件,而不使用 SPIFFS 而是使用 SDcard 文件
- matrix - 使用 SSE 在列主要顺序和行主要顺序之间转置的最佳方法
- swift - 对 SwiftUI 中的 @EnvironmentObject 感到困惑
- python - 如何真正快速地打印输出并修复重复打印模式,这也是输出的划分问题?
- git - 如何查看在 git 中操作的所有项目文件及其历史记录
- node.js - 每次在 NodeJs 中命中 api 端点时发送一个服务器发送事件(SSE)
- google-apps-script - for循环不返回数据