[英]Asp.NetCore bringing table into existing DbContext
我已经成功地在DbContext
创建了一个带有表的DbContext。
但是,我意识到还有一些表格需要添加。 我知道.edmx
文件和更新数据库模型在 .netcore 中不再可用,并且想知道如果dbcontext
已经创建,是否可以自动将这些表生成到类中。
您需要使用 CLI/Package Console 学习 Entity Framework 核心迁移,它将创建迁移快照类文件,您需要检查应用迁移,您可以参考Migrations - EF Core with ASP.NET Core
您需要使用 EntityFramework Core,只需在网上搜索它,您就可以获得大量有关如何操作的教程。 我只用了一天就学会了。
您可以在数据库中添加表,然后添加 Scaffold。 您的模型将被更新。
要 Scaffold,在 Visual Studio 中打开Package Manager Console
并添加以下行并输入:
Scaffold-DbContext "ServerYourServerName;Database=YourDBName;Trusted_Connection=True;UserId=YourUserId;Password=YourPassword;Integrated Security=false;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -f
我知道我回答晚了,我希望它能帮助别人。
有两种方法可以做到这一点。
从此查询中获取数据库中的所有表写入包管理器控制台。
Scaffold-DbContext "ServerYourServerName;Database=YourDBName;Trusted_Connection=True;UserId=YourUserId;Password=YourPassword;Integrated Security=false;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir 模型 -f
如果您想要数据库中的特定表,请运行此查询。
Scaffold-DbContext "ServerYourServerName;Database=YourDBName;Trusted_Connection=True;UserId=YourUserId;Password=YourPassword;Integrated Security=false;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir 模型 -t "TableName" -f
您需要从 Visual Studio 编辑器下载一些Nuget 包管理器。
只需在 NuGet 包管理器中搜索上述包,并使用与 asp.net 核心匹配的相同版本进行安装。
之后只需正确更新您的模型类并DbSet<> in Datacontext class.
添加DbSet<> in Datacontext class.
在你完成所有工作之后。 只需通过从 Visual Studio 代码中的上部菜单标题转到工具来打开包管理器控制台。 然后写下面提到的命令。
PM> add-migration
完成构建后的第二个写入下一个命令
PM> update-database.
它看起来像这样,您可以根据需要用任何东西替换 Identity
PM> add-migration identity
构建开始... 构建成功。 要撤消此操作,请使用 Remove-Migration。
PM> update-database
构建开始... 构建成功。 完毕。
只需繁荣您的所有数据库都将使用新表进行更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.