Asp.NetCore将表引入现有的DbContext

时间:2017-06-07 14:18:07

标签: c# sql entity-framework asp.net-core dbcontext

我已成功使用asp.netcore中的表创建DbContext

但是,我已经意识到还需要添加一些表。我知道.netcore中不再提供.edmx个文件和更新数据库模型,并且想知道如果已经创建了dbcontext,是否可以自动将这些表生成到类中。

5 个答案:

答案 0 :(得分:0)

您需要使用CLI / Package Console学习Entity Framework核心迁移,它将创建迁移快照类文件,您需要检查应用迁移,您可以参考Migrations - EF Core with ASP.NET Core

答案 1 :(得分:0)

您需要使用EntityFramework Core,只需在线搜索,您就可以获得大量有关如何操作的教程。我只在一天内学会了它。

答案 2 :(得分:0)

您可以在数据库中添加表格,然后在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

我知道我迟到了,我希望它会帮助别人。

答案 3 :(得分:0)

有两种方法。

  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

答案 4 :(得分:0)

您需要从 Visual Studio 编辑器下载一些 Nuget Package Manager

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

只需在 NuGet 包管理器中搜索上述包并安装与 asp.net 核心匹配的相同版本。

在此之后只需正确更新您的模型类并添加 DbSet<> in Datacontext class.

在您完成所有工作之后。只需通过从 Visual Studio 代码中的上部菜单标题转到工具来打开包管理器控制台。然后写下面提到的命令。

PM> add-migration

完成构建后的第二个写入下一个命令

PM> update-database.

看起来像这样,您可以根据需要用任何东西替换 Identity

PM> add-migration identity

<块引用>

构建开始...构建成功。要撤消此操作,请使用 移除迁移。

PM> update-database

<块引用>

构建开始...构建成功。完成。

只需繁荣您的所有数据库将使用新表进行更新。