提问人:محمد مهدی الماسی 提问时间:11/16/2023 最后编辑:lemمحمد مهدی الماسی 更新时间:11/16/2023 访问量:61
将模型类型 ViewModel 添加到 DbContext 时出错
Error when add model type ViewModel to DbContext
问:
当我想使用 EF Core 标识搭建控制器时,我收到如下错误
Error
There was an error running the selected code generator: 'Could not add Model type
'Electrical.Models.ViewModels.RegisterViewModel' to
DbContext 'DataAccessLayer.AppDbContext'. Make sure that DataAccessLayer.AppDbContext' has a DbSet property for
"Electrical.Models.ViewModels.RegisterViewModel"."
OK
我知道如果我在上下文类之外添加工厂上下文类,问题就会解决,我正在尝试,但它不起作用。
答:
1赞
Yuning Duan
11/16/2023
#1
RegisterViewModel 是一个视图模型,不直接映射到数据库表。在数据库上下文中,应仅包括与数据库交互的实体模型,而不应包括视图模型。视图模型通常用于应用程序的前端与用户交互,而不是直接存储在数据库中,因此应使用实体模型而不是视图模型。
身份本身没有模型,我该怎么办?
Identity 是 ASP.NET Core 框架的一部分,用于处理身份验证和授权功能。它集成了许多类:IdentityUser、IdentityRole、IdentityUserRole、IdentityUserToken、IdentityUserLogin、IdentityUserClaim。介于两者之间,IdentityUser 是 ASP.NET Core Identity 框架中定义的类之一,它表示应用程序的用户实体。它提供了一组标准的属性来存储基本的用户信息,如用户名、电子邮件地址、密码哈希等。因此,您可以创建一个派生自 IdentityUser 的用户实体类:
public class EntityUser : IdentityUser
{
}
创建派生自 IdentityDbContext <EntityUser> 的数据库上下文类:
public class AppDbContext : IdentityDbContext<EntityUser>
{
public AppDbContext (DbContextOptions<AppDbContext> options)
: base(options)
{
}
}
最后,这些文档可以帮助您更好地理解身份脚手架: 在此处输入链接描述 在此处输入链接描述
评论