我使用 Entity Framework 4.0 使用模型优先方法创建了一个数据库模型。然后我使用从模型生成数据库创建了一个 sql 脚本...我还在我的 App_Data 文件夹中创建了一个 SQL Server 数据库文件。我现在如何针对这个 MDF 文件运行 SQL 文件?
我正在使用 Visual Studio 2010。
我使用 Entity Framework 4.0 使用模型优先方法创建了一个数据库模型。然后我使用从模型生成数据库创建了一个 sql 脚本...我还在我的 App_Data 文件夹中创建了一个 SQL Server 数据库文件。我现在如何针对这个 MDF 文件运行 SQL 文件?
我正在使用 Visual Studio 2010。
我遇到了同样的问题,这对我有用。
当我选择“从模型生成数据库...”时,我创建了一个新的 MDF 文件。此过程运行良好,Visual Studio 生成了所需的 SQL 脚本。但是,我不知道如何连接到同一个 MDF 文件来运行脚本。
事实证明这很容易。
右键单击脚本并选择连接 > 连接
应该已经为本地 SQLEXPRESS 实例设置了服务器名称和身份验证。
单击选项按钮
单击附加连接参数选项卡
使用以下指导粘贴数据库文件的路径:
AttachDBFilename=C:\Path\To\Database\LocalData.mdf;database=LocalData;
单击连接按钮
如果您仍然无法连接,可能是因为已经有一个打开的连接。检查服务器资源管理器,如果连接已打开,请右键单击并选择关闭连接。
只要 SQL 脚本保持连接,此过程还将创建持久连接。您将要关闭脚本或选择右键单击 > 连接 > 断开连接。
更多信息可以在这个问题上找到: EF4 Generate Database
我找到了一个解决方案,但它有点hacky。
我有 SQL Server Express (2008 R2)。因此,当从模型生成数据库时,我连接到它并让它在那里建立一个数据库。然后我去C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA
。10_50 部分因版本而异,可能对您有所不同。所以在这个文件夹中有一个 .mdf 文件,其名称与数据库一样 - .mdf。还有一个 _log.ldf 文件。我将这些复制到我项目的 App_Data 文件夹中。
这可行,但为模型中的每次更改生成一个新的 .mdf 数据库非常耗时。所以我在发货前这样做。
如果您找到更好的答案,请分享。
我遇到了同样的问题,使用 EF5 在 mvc4 中使用 Model First 方法。我所做的是创建项目、添加新模型、在 edmx 图上添加实体和关联。右键单击图表并选择“从模型生成数据库”。这将生成 sql 文件。
现在在解决方案资源管理器的 App_Data 文件夹中添加一个 mdf 文件,例如 Database1.mdf(添加 > 新项目 > 数据 > SQL Server 数据库)。
右键单击 > 打开此 mdf 文件。现在在属性窗格中,您有连接字符串。照原样复制即可。
恢复到您生成的 SQL 脚本,右键单击 > 执行。弹出窗口询问连接参数。确保服务器名称中的值正确(使用您的 PC 名称或 127.0.0.1)。
现在在选项中,单击 Additional Connection Parameters 选项卡并粘贴从 mdf 文件的属性中复制的连接字符串。
这对我来说非常有效,而且非常合乎逻辑。无需直接使用 SQL Server 安装目录。
上面的答案很好,但我必须在 VS2013 中执行更多步骤,但我确实在以下帮助下解决了问题。
我希望这对某人有所帮助 - 快乐编码!