我在尝试使用 Create 模板和使用 DatabaseContext 作为其类的模型添加新的 Razor 视图时遇到问题。我面临的错误如下:
运行所选代码生成器时出错: '无法将模型类型'IXP.Models.UserRegistrationModel'添加到DbContext'DAL.DataContext.DatabaseContext'。确保“DAL.DataContext.DatabaseContext”具有“IXP.Models.UserRegistrationModel”的 DbSet 属性。'
在我的 .net 6 MVC 解决方案中,我添加了两个项目:“DAL”和“Domain”。我的代码优先表位于“Domain”项目中,而这些表的 DbSet 属性在“DAL”项目中定义。
我希望这提供了足够的信息来解决这个问题。
我尝试在 DAL.DataContext.DatabaseContext 中添加 DbSet,但我做不到。 “域”层已正确定义为“模型”所需的属性和属性
您的错误消息表明 UserRegistrationModel 未添加到 DatabaseContext 中的 DbSet 中。这通常是添加 DbSet 的方式:
public class DatabaseContext : DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options)
: base(options)
{
}
public DbSet<UserRegistrationModel> UserRegistrationModels { get; set; }
}
假设您已经完成上述操作,如果您已将项目分为不同的层(域和 DAL),实体框架工具可能会出现问题,无法检测到 UserRegistrationModel,因为它位于不同的项目中。
您可以检查以下几件事: