我正在学习tryCaptureView()
,并且在以下情况下遇到一些问题:
我为ASP.NET Core
提供的IdentityUser
创建了一个扩展类,该扩展类为默认数据库Microsoft.AspNetCore.Identity
添加了一些额外的字段:
AspNetUsers
我能够执行以下命令来更新表结构:
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
public string LockoutMessage { get; set; }
public string SessionId { get; set; }
}
问题
假设现在我使用软件add-migration <migration name> -context <app context>
update-database
创建了另一个名为Microsoft SQL Server Management Studio
的表,该表的UserDetails
表的ID为FK
。
我想在AspNetUsers
文件夹中使用我的应用程序中的所有属性生成该类,因此不需要手动编写新表的表的属性,该怎么做? / p>
我尝试过:Models
,但似乎不起作用。
答案 0 :(得分:1)
从数据库引入内容的唯一方法是使用Scaffold-DbContext
。但是,这是全有或全无。它将为数据库中的每个表创建实体类(无论它们是否存在) 并启动DbContext
。
要么先使用代码,然后创建实体,然后生成针对数据库运行的迁移,要么对数据库进行更改,然后使用Scaffold-DbContext
命令生成上下文和所有关联的实体。您无法混合搭配。
总之,您需要选择一种策略并坚持下去。如果您对数据库比较满意,则在该处执行所有操作并从中构建代码。否则,如果您想先使用代码,则对此进行承诺,切勿手动触摸数据库。