我通过创建 MVC 4 项目并使用设计器添加单个数据实体,在 VS 2012 中创建了一个简单的 Entity Framework 模型优先应用程序。
我第一次右键单击设计器界面并选择生成数据库时,它会提示我输入数据库连接的详细信息。我告诉它使用我的 App_data 文件夹中的本地数据库文件。完成后,它创建了我的(空)数据库文件,并为我提供了一个 Shiny 的新 MyData.edmx.sql 文件。
好的,所以我假设我需要针对我的新数据库文件执行这个 sql 文件。但我无法弄清楚这样做的魔力。当我右键单击该 sql 文件并选择“执行”时,它告诉我我使用的是数据库引擎的服务器类型,并要求我输入服务器名称。唯一可用的选项似乎是 MyPC\SQLEXPRESS。但是当我选择它并单击“连接”按钮时,它会提示 [MyData] 数据库不存在(因为我已经告诉它对我的数据库文件使用 SQL Express 而不是 LocalDb)。
帮助。如何将 VS 连接到我的新数据库文件?
鲍勃
最佳答案
我在尝试在 VS 2013、EF6 下执行 edmx.sql 时遇到了类似的问题。在其他任何地方都没有提及此解决方案,因此我将在此处为可能遇到错误的其他人添加它:“数据库 mynewdatabase 不存在”。以下是我的解决方案:
会弹出提示。如果使用 LocalDB,请完全按照原样输入服务器
"(localdb)\v11.0"并使用 Windows 身份验证。
现在的问题。如果您收到错误消息:“数据库 mynewdatabase 不存在”,请执行以下修复:
在 *.edmx.sql 的顶部附近是这样的一行:
USE [mynewdatabase];
您必须修改它以包含数据库文件名的完整路径,例如所以:
USE [D:\Projects\MyNewProject\MyNewProject\App_Data\mynewdatabase.mdf];
现在重复第 2 步,您应该会收到数据库已成功创建的消息。
注意1:.mdf 扩展名是必需的!
注意 2:每次从模型生成数据库时都必须再次执行此手动编辑,因为该过程会覆盖 edmx.sql。
关于sql-server - 新手 : How to execute MyData. edmx.sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12358305/