C# 实体框架连接字符串:SQLCe文件位置
我在我的app.config中指定了以下条目C# 实体框架连接字符串:SQLCe文件位置,c#,entity-framework,C#,Entity Framework,我在我的app.config中指定了以下条目 <add name="DefaultStoreConnection" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=DefaultStore.sdf" /> 但是,当我使用Package Manager控制台创建迁移时,它会在那里创建数据库: C:\Program Files (x86)\Microsoft Visual Studio 1
<add name="DefaultStoreConnection" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=DefaultStore.sdf" />
但是,当我使用Package Manager控制台创建迁移时,它会在那里创建数据库:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\DefaultStore.sdf
文件名是正确的,所以我猜实体框架只是从调用应用程序获取一个相对路径,在包管理器控制台的情况下:VisualStudio。我可以在app.config中指定我的应用程序目录吗?试试这个:
按如下方式设置连接:
<add name="DefaultStoreConnection" providerName="System.Data.SqlServerCe.4.0"
connectionString="Data Source=|DataDirectory|\DefaultStore.sdf" />
在这里的
环境.SpecialFolder
enum中,您还可以选择执行目录,还可以提供自定义目录 它是winforms项目吗?“app.config”位于控制台项目中,外部库中的数据库上下文您是否尝试过Data source=| DataDirectory | DefaulstStore.sdf代码>?
<add name="DefaultStoreConnection" providerName="System.Data.SqlServerCe.4.0"
connectionString="Data Source=|DataDirectory|\DefaultStore.sdf" />
string fileName = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
AppDomain.CurrentDomain.SetData("DataDirectory", fileName);