我已经成功地在EF7 RC1中对我的数据库进行了逆向工程,特别是使用了Package Manager控制台命令“Scaffold-DbContext”,如文档中所述。
首先,是否有任何选项可以对数据库中的某些表进行逆向工程?我的大多数项目只使用数据库中的数百个表中的几个。
其次,如果我们更改数据库并希望第二次对其进行逆向工程,那么正确的程序是什么?如果我只是重新运行命令,则说“构建失败”可能是因为模型已经存在。
答案 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)