2016-11-28 8 views
0

私は、SQL Serverデータベースに接続するWPFアプリケーションを構築しています。私は、どうやってローカルデータベースと一緒にクライアントのコンピュータにアプリケーションを展開するのかと思います。SQL Serverデータベースと共にWPFアプリケーションを展開する最も効率的な方法は何ですか?

私の最初の考え(クライアントコンピュータは、SQL Serverがインストールされていることを仮定して)されています

  1. は、アプリケーション
  2. .exeファイルを配信し、データベースを作成するための私のストアドプロシージャを実行するスクリプトファイルを提供し、テーブル

もっと良い方法がありますか?私は、コンピュータのレジストリに何らかの種類のブール値を設定し、初めて "init-database-scripts"を実行するアプリケーション内でサービスを作成することはできましたが、間違っていると感じました。

他の提案はありますか?

ありがとうございました!

+0

SQL Server _what_?企業?エクスプレス?コンパクト? LocalDB?これらはインストールオプションの異なるデータベースです。 –

+0

私は最大の課題はsqlserverをインストールする方法だと思います。 –

答えて

0

最初に、私は強くのようなツールを使って実際のインストーラを作ることを検討します。インストール時にあなたのためにスクリプトを実行できるので、レジストリなどを扱う必要はありません。

エンティティフレームワーク - コードファーストを使用していると仮定すると、別のオプションがあります。データベース初期化子を使用してデータベースを作成することができます。モデルがDropCreateDatabaseIfModelChangesで変更されるとは思わない場合は、移行を有効にして移行初期化子を使用してください。

あなたが選んだイニシャライザを使用するには、アプリケーションの起動ルーチンにDatabase.SetInitializerを必ず呼び出してください。

0

Visual StudioソリューションにSQL Serverデータベースプロジェクトを追加します。プロジェクトをビルドすると、SQLPackage.exeを使用してクライアントマシンにインストールできるDacpacファイルが作成されます。基本的に、あなたのアプリケーションのインストールスクリプト/ソフトウェアはSQLデータベースをインストール/アップデートするためにあなたのDacpacファイルと一緒にSQLPackageを呼び出します。ここでは、SQLデータベースプロジェクトの設定に関するチュートリアルへのリンクを示します。Tutorial

関連する問題