我已经使用Microsoft SQL Server 2012从脚本创建了一个sql数据库,并使用实体框架在C#中生成了一些类。现在我不得不修改并向该数据库添加一些新项目,包括存储过程和新表格。实体数据模型向导不显示新表
但是,在尝试重新生成Visual Studio Ultimate 2012中的类时,实体数据模型向导仍然显示旧数据库(它在一周前的样子),包括我删除的一些表。没有列出新的东西。我尝试删除并重新创建数据库,重新启动这两个程序,并重新启动电脑无效。
我正在生成在Visual Studio框架的步骤是:
- 添加一个新的项目到项目中。
- 选择ADO.NET实体数据模型。
- 从数据库中选择代码优先。
- 选择下一步(连接字符串已填入)。
- 下一个屏幕是“选择对象和设置”窗口,这是我仍然看到旧表(而不是新的)的窗口。
在更改数据库以获取这些更改以显示在实体框架中之后,是否需要执行一些特殊步骤?
UPDATE:
我有一个选项“从数据库更新模式”一领先,但我的Visual Studio有这样的选项。网页搜索表明它在“模型浏览器窗口”中找到,我也没有在VS中找到它。进一步的搜索表明这个窗口在打开“edmx”文件后变为可用。我已经在整个PC上搜索该文件扩展名并找到了一些结果,但它们都来自其他人的项目。我无法找到与该项目的c#解决方案或sql数据库相关联的.edmx。
我对Code First并不了解很多,但似乎您正在尝试执行数据库优先策略。选择代码首先可能是你的问题。在“选择对象和设置”中,毫无疑问,您正在代码而不是数据库中查看模型。 – pseudocoder 2014-12-03 19:13:31
@pseudocoder:是否有另一种选择,你会建议呢? – 2014-12-03 19:36:25
当我添加EDM时,我会看到选项“Empty Model”或“Generate from database”。在这一点上没有提到“代码优先”。我会选择“从数据库生成”,然后确保我的连接字符串指向正确的服务器/数据库。我使用EF 6. – pseudocoder 2014-12-03 20:26:28