如何指定EF代码优先方法创建数据库的自定义文件夹路径?

时间:2011-01-19 02:54:46

标签: c# entity-framework

默认情况下,EF代码首先会在

中创建一个数据库
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA

是否可以将此默认路径更改为我自己的路径?

2 个答案:

答案 0 :(得分:2)

尝试以下连接字符串。

<add name="default" connectionString="Data Source=.\sqlexpress;Initial catalog=TestDb;AttachDbFilename=c:\MyDatabase.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>

请注意,必须手动创建要放置数据库文件的文件夹(SQL Server不会为您执行此操作)。

希望这有帮助。

答案 1 :(得分:1)

据我所知,您可以更改目标文件夹的唯一方法是使用SQL Compact Edition(SQLCE)和SqlCeConnectionFactory工厂。

它从连接字符串获取目标路径(或默认使用| DataDirectory |),目前仅支持SQLCE。

我能找到的最佳链接http://blogs.msdn.com/b/adonet/archive/2010/09/02/ef-feature-ctp4-dbcontext-and-databases.aspx适用于CTP4(不是最新版本)。

即使使用web / app.config更改,我也找不到任何更改输出路径的方法。