我正在学习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
的表,其中FK
表是AspNetUsers
表的id。
我想在Models
文件夹中使用我的应用程序中的所有属性生成类,所以我不需要手动编写新表的表的属性,我该怎么做?
我试过:update-database
但似乎不起作用。
从数据库中引入内容的唯一方法是使用Scaffold-DbContext
。然而,这是一个全有或全无的事情。它将为数据库中的每个表创建实体类(无论它们是否已经存在)和要启动的DbContext
。
要么首先使用代码,要么创建实体并生成针对数据库运行的迁移,要么对数据库进行更改,然后使用Scaffold-DbContext
命令生成上下文和所有关联实体。你不能混搭。
无论长短,你需要选择一个策略并坚持下去。如果你对数据库更熟悉,那么在那里做所有事情并从中获取代码。否则,如果您想先使用代码,那么请对此做出承诺,绝不要手动触摸您的数据库。