如何更新/生成数据库表模型?

查拉诺奥卢

我正在学习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的的IDAspNetUsers表。

我想Models用我的应用程序的所有属性文件夹内生成类,所以我不需要手动编写新表的表的属性,我该怎么做?

我试过:update-database但似乎不起作用。

克里斯普拉特

从数据库中引入内容的唯一方法是使用Scaffold-DbContext. 然而,这是一个全有或全无的事情。这将在数据库中(无论其是否存在),每个表创建实体类DbContext对靴子。

您要么首先使用代码,然后创建实体并生成针对数据库运行的迁移,要么对数据库进行更改,然后使用该Scaffold-DbContext命令生成上下文和所有关联的实体。你不能混搭。

多头和空头,你需要选择一个策略并坚持下去。如果您对数据库更满意,那么在那里做所有事情并从中构建代码。否则,如果你想先使用代码,那么就做出承诺,永远不要手动接触你的数据库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章