sqliteをlinqで動作させようとしています。これまでのところ:
http://sourceforge.net/projects/sqlite-dotnet2/files/SQLite%20for%20ADO.NET%202.0/からADO.netプロバイダーをインストールしました
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wikiから32ビットと64ビットの両方のsqlite.netをインストールしました
これで、sqliteデータベースをソースとして使用してエンティティデータモデルを作成できます。(表示されているwpfコンポーネントで)データモデルの新しいインスタンスを作成しようとすると、次の例外が発生します。
A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: 'The invocation of the constructor on type myprogram.mycomponent' that matches the specified binding constraints threw an exception.' Line number '13' and line position '37'.
mycomponentコンストラクターは単純です。
private void myprogram()
{
InitializeComponent();
pricesEntities pe = new pricesEntities();
}
コンポーネントを表示するウィンドウのデザインビューを開くと、
ArgumentException was thrown on "mycomponent": Cannot create an instance of "mycomponent".
An Unhandled Exception has occurred
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
at System.Data.EntityClient.EntityConnection..ctor(String connectionString)
at System.Data.Objects.ObjectContext.CreateEntityConnection(String connectionString)
at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
at myprogram.pricesEntities..ctor() in <path>\prices.Designer.cs:line 34
at myprogram.ItemList.InitializePriceList() in <path>\ItemList.xaml.cs:line 34
at myprogram.ItemList..ctor() in <path>\ItemList.xaml.cs:line 29
私のapp.configには、次の接続文字列が含まれています。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="pricesEntities" connectionString="metadata=res://*/prices.csdl|res://*/prices.ssdl|res://*/prices.msl;provider=System.Data.SQLite;provider connection string='data source="<path>\prices.db"'" providerName="System.Data.EntityClient" />
</connectionStrings>
</configuration>
ここや他の場所で提案されているように、app.configファイルを実行可能ファイルのディレクトリにコピーしてみました。それは役に立ちませんでした。これは、指定された名前付き接続が構成に見つからないか、EntityClientプロバイダーでの使用を目的としていないか、無効であるのとは異なる問題であることに注意してください。
動作させようとしているプロジェクト(wpfアプリケーション)は1つだけです。