私はC#でWinFormsアプリケーションを作っています。私が欲しいのは私のために使用する単純なローカル・データベースですLINQ Confusion - アプリケーションが終了してもデータベースが永続しない?
- ローカルデータベース
- サービスベースのデータベース
:私は私のデータベースオブジェクトを作成するために行くとき、私は二つの選択肢を提示していますプロジェクト。私は私のテーブルを作成して、LINQ-TO-SQLクラスの作成者にそれらをオーバードラッグした後、「ローカル・データベース(コンパクト版)」を選択した場合
しかし、それは言う:
選択したオブジェクト(複数可)は、サポートされていないデータプロバイダを使用します。
なぜ、ローカルデータベースを作成するのが、オブジェクトリレーショナルデザイナにテーブルにドラッグするとサポートされていないプロバイダと見なされるのか分かりません。
したがって、私は第2のタイプの「サービスベースのデータベース」を試しています。私は私の基本的なアプリケーションのためにテーブルをレイアウトし、私のテーブルを作る。これらのテーブルをドラッグすると、LINQ-To-SQLデザイナーはうまく動作し、アプリケーションにコードを書き込んでデータベースエントリを挿入したり、アップレートしたりします。
しかし、この2番目の「サービスベースのデータベース」では、アプリケーションの実行中は、挿入と更新が機能します。しかし、私はそれを閉じると、元の状態に戻ります。私が手動でサーバーエクスプローラ経由でデータを追加しても、それでも問題はありませんが、挿入したものは保存されません。
LINQでローカルデータベースを作成して使用できないのはなぜですか?
これはオプションではない場合、「サービスベースのデータベース」(それが何であれ)がアプリケーションの終了を超えて持続するのはなぜですか?
ありがとうございました!
編集:LINQ-To-SQLオブジェクトデザイナーは、コンパクトエディションローカルデータベースでは動作しません。それでもやりとりはできますが、明らかにdmblファイルを生成するにはSqlMetalを使用する必要があります。