0

私は自分のアプリケーションを開発するのに忙しいです.SQLサーバーデータベースを使用し、エンティティフレームワークを介して接続されています. ストア プロシージャを使用して、データベースから挿入、更新、削除、選択します。

アプリを公開しても、アプリは自分のマシンで完璧に動作します。しかし、友人のコンピューターにアプリをインストールしようとすると、問題が発生します。データベースに接続できないため、クラッシュして起動しません。

すべてのテーブル、ストア プロシージャ、およびデータベースを友人の PC にインポートせずに、データベースを使用してアプリを公開する方法はありますか? ユーザーがアプリをインストールするだけで機能するようにしたいだけです。

4

2 に答える 2

0

SQL CEを使用することもできますが、SQL Serverでの作業に慣れている場合は、データベースを「設計」するのが少し難しい場合があります。

SQL Server Expressをオプションとして検討しましたか?

接続文字列の問題で、MicrosoftがVisualStudioでNugetを介して使用するデータ接続ウィザードを取得できるようになりました。これにより、クライアントマシンで接続文字列を動的に構成する方法を追加するのがはるかに簡単になります。

最後に、エンティティフレームワークの接続文字列は、標準のSQL接続文字列とは異なります。プログラムで構成を開始する前に、違いを明確に理解していることを確認してください。EntityFrameworkに関するJulieLermanの優れた本は、違いをよく説明しています。

于 2012-10-03T10:15:51.703 に答える
0

アプリはデータベースに依存して動作するため、友人の PC に配置する場合は、ローカル コピーであろうと、SQL を実行しているサーバーに保存されているコピーであろうと、DB をどこかで利用できるようにする必要があります。

接続文字列をどのように保存していますか? アプリでハードコードされていますか、それとも app.config ファイルを利用していますか? やろうとしていることを実行するには、接続文字列を app.config ファイルに入れる必要があるため、インストールに応じて変更できます。

それか、

データなしでアプリを実行したい場合は、デモ フラグか何かを app.config ファイルに入れます。この値を確認するコードをアプリに挿入します。値が true の場合は、SQL コードをバイパスし、ハードコードされたデモ データを提供します。

これは理にかなっていますか?

于 2012-10-03T08:33:28.367 に答える