实体框架7 RC1反向工程仅限整个数据库?

时间:2015-12-22 21:52:33

标签: entity-framework-core

我已经成功地在EF7 RC1中对我的数据库进行了逆向工程,特别是使用了Package Manager控制台命令“Scaffold-DbContext”,如文档中所述。

首先,是否有任何选项可以对数据库中的某些表进行逆向工程?我的大多数项目只使用数据库中的数百个表中的几个。

其次,如果我们更改数据库并希望第二次对其进行逆向工程,那么正确的程序是什么?如果我只是重新运行命令,则说“构建失败”可能是因为模型已经存在。

2 个答案:

答案 0 :(得分:1)

  

是否有任何选项可以对数据库中的某些表进行逆向工程?

是。要查看选项,请在程序包管理器控制台中执行get-help Scaffold-DbContext。这是 7.0.0-rc1-final 的输出。要将选择限制为仅限某些表,请使用-Tables选项

PM> get-help Scaffold-DbContext

NAME
    Scaffold-DbContext

SYNOPSIS
    Scaffolds a DbContext and entity type classes for a specified database.


SYNTAX
    Scaffold-DbContext [-Connection] <String> [-Provider] <String> [-OutputDirectory <String>] [-ContextClassName <String>] [-Schemas <String[]>] [-Tables <String[]>] [-DataAnnotations] 
    [-Project <String>] [-StartupProject <String>] [-Environment <String>] [<CommonParameters>]


DESCRIPTION
    Scaffolds a DbContext and entity type classes for a specified database.


RELATED LINKS
    about_EntityFramework 

REMARKS
    To see the examples, type: "get-help Scaffold-DbContext -examples".
    For more information, type: "get-help Scaffold-DbContext -detailed".
    For technical information, type: "get-help Scaffold-DbContext -full".
    For online help, type: "get-help Scaffold-DbContext -online"
  

如果我们更改数据库并希望第二次对其进行逆向工程,那么正确的程序是什么?

删除旧的模型类和上下文,并从更新的数据库重新运行逆向工程。 Scaffold-DbContext不会在RC1中进行就地更新。

答案 1 :(得分:0)

这是EF7版本的一个已知问题,将会发布。 Rowan Miller told this here

enter image description here

您必须等待下一个大型EF7更新,这将带来一些缺失的功能。