【问题标题】:How to create dynamic database in entity framework with specified path?如何在具有指定路径的实体框架中创建动态数据库?
【发布时间】:2012-04-08 00:43:00
【问题描述】:
目前我在实体框架中创建动态数据库使用 CreateDatabase() 方法。
它成功执行并在以下路径创建数据库:
"c:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA"
但我想在我的应用程序目录中创建数据库。
这个怎么做?
请帮帮我。
【问题讨论】:
标签:
entity-framework-4
entity-framework-4.1
entity
edmx
【解决方案1】:
通常所有数据库都是在 SQL Server 中配置的默认路径上创建的。仅当您使用 SQL Server Express 并且您定义了连接字符串以指定要在数据文件夹中创建的数据库时,它将使用您的应用程序文件夹。它只适用于 SQL Server Express。确保连接字符串的内部看起来像:
Server=.\SQLExpress;AttachDbFilename=|DataDirectory|\YourDbFile.mdf;Database=YourDbName; Integrated Security=SSPI;
|DataDirectory| 占位符将被替换为数据目录的路径。对于 Web 应用程序,它应该是 App_Data,对于独立应用程序,它应该是应用程序的文件夹。您还可以直接在连接字符串中使用任何路径,或通过以下方式从代码中控制 DataDirectory 解析:
AppDomain.CurrentDomain.SetData("DataDirectory", YourPath);