3

データベースに SQL Server を使用するクライアント用に、かなり大きな C# Winforms アプリケーションを作成しました。これは当初、社内での内部使用のために設計および開発されました。彼らは、完全版を社内で使用するだけでなく、この縮小版を顧客にライセンス供与することを決定しました。

カットダウン バージョンが保存するデータの一部は、Web サービスを呼び出してサーバーに送信されますが、ほとんどのデータをローカルに保存する必要があります。

私のデータベース経験のほとんどは、SQL Server のインストールを使用してきました。ただし、理想的には、この場合、ローカルのファイルベースのデータベースにデータを格納する必要があります (データベース サーバーをインストールして構成する必要はありません)。彼らのクライアントは、技術的なことにあまり関心がなく、ソフトウェアをインストールする setup.exe が必要なだけで、それは機能します。

私の .NET コードのほとんどは、Linq-to-Sql を使用してデータベースと通信します。

この場合、既存の Linq コードを引き続き使用できるローカル データベースの最適なオプションは何ですか?

4

1 に答える 1

6

私の観点からすると、ここには少なくとも 2 つのオプションがあります。

どちらもターゲット システムに何もインストールする必要がなく、アプリケーションと共に 1 つ (または複数) の DLL を展開するだけのデータベースです。

データベースはファイルベースです。

VistaDB を非常にうまく実行している実世界のアプリケーションがいくつかあります。

ここに私の長所と短所があります:

プロ SQL CE:

Con SQL CE:

  • ビューなし
  • 展開するいくつかの DLL

プロ VistaDB:

  • SQL Server 互換の構文
  • ビュー、ストアド プロシージャなど
  • 100% マネージド、アンマネージド コードなし
  • 展開する 1 つの DLL
  • 複数人で利用可能(ロック)
  • Linq to SQL をサポートしているようです (ただし、自分で使用したことはありません)。

Con VistaDB:

  • お金がかかる
  • Microsoft Access などよりもパフォーマンスが低い
  • ネットワークドライブから実行するとやや遅い
于 2013-05-05T15:04:42.543 に答える