当使用WPF和实体框架我有一个看起来像一个app.config如下:%连接字符串中的APPDATA%未替换实际文件夹?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="DatabaseEntities" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="Data Source=%APPDATA%\Folder\Database.sdf"" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
使用此代码时它总是引发以下错误:
System.Data.EntityException: The underlying provider failed on Open. ---> System.Data.SqlServerCe.SqlCeException: The path is not valid. Check the directory for the database. [ Path = %APPDATA%\Folder\Database.sdf ]
当我运行路径“%APPDATA%\ Folder \ Database.sdf”从命令提示符它工作正常,如果我删除“%APPDATA%和硬编码路径它工作正常 - 所以它看起来就像%APPDATA%只是没有被替换为实际文件夹...
谢谢,
在你的连接字符串中使用'| DataDirectory |'而不是'%APPDATA%'让我知道它是否解决了你的问题。 – 2013-02-23 07:32:00