WPF とエンティティ フレームワークを使用する場合、次のような APP.CONFIG があります。
<?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% のように見えます。実際のフォルダに置き換えられていないだけです...
ありがとう、