问题描述
对于一个新项目,我想首先使用实体框架代码来设计实体。但是,我可以使用 sql Server Management Studio 更直观地设计表。有没有一种技术或应用程序可以让我在 SSMS 和 Visual Studio 编辑器之间来回切换,并帮助我最终完成一个完整的 POCO 课程?
谢谢。
解决方法
您不能“在 SSMS 和 Visual Studio 编辑器之间来回切换”,但您可以从 SSMS 设计所有表,然后自动创建模型类(脚手架模型和 DbContext)
如果您使用的是 dotnet core
,请先安装以下 Nuget 软件包,
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Design
现在在 VS 上打开 Package Manager Console
并运行,(更改 Server
名称和 Database
)
Scaffold-DbContext "Server=.;Database=SampleDb;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
这将在 Models
文件夹中创建所有模型类。从现在开始,您可以继续使用代码优先的方法。
如果您使用的是 .NET Framework
,请在您的项目中创建一个名为 Models
的文件夹,然后右键单击该项目 -> 单击 Add New Item
。
搜索ADO.NET Data Entity Model
,给出一个正确的名称并点击Add
在下一个对话框中,您可以选择第四个选项,Code first from database
然后点击 New connection
并配置您的连接。
在下一页中选择表和/或视图,然后点击 Finish
。
您的模型类现在应该可用。 同样,请记住,从现在开始,您不能使用 SSMS 来设计表,因为它会在实体框架中引发异常。阅读更多here和here。