繁体   English   中英

Asp.NetCore 将表带入现有的 DbContext

[英]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

我知道我回答晚了,我希望它能帮助别人。

有两种方法可以做到这一点。

  1. 从此查询中获取数据库中的所有表写入包管理器控制台。

    Scaffold-DbContext "ServerYourServerName;Database=YourDBName;Trusted_Connection=True;UserId=YourUserId;Password=YourPassword;Integrated Security=false;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir 模型 -f

  2. 如果您想要数据库中的特定表,请运行此查询。

    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 包管理器。

  1. Microsoft.aspnetcore.EntityFrameworkcore
  2. Microsoft.EntityFrameworkCore.SqlServer
  3. Microsoft.EntityFrameworkCore.Tools

只需在 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM