この質問を促したプロジェクトを完了してからずっと経ちましたが、最近、非常に小さなデータ要件を伴う別のプロジェクトが発生したため、これを試すためにもう少し時間を費やしました。
SQL Server Expressを展開するにはライセンス料が必要だと思っていましたが、実際はそうではありません。MicrosoftのWebサイトによると、特定の制限付きで自由に使用できます。
- 最大データベースサイズ:4 GB
- 使用される最大メモリ:1 GB
- 使用される最大CPU:1(コアではなく完全なプロシージャ)
Sql Server Compactは、機能させるためにハックが必要であり、Webに必要な同時アクセス用に構築されていないため、Webアプリケーションには適していません。ただし、アプリケーションがSql Server Expressの適度な制限内に収まる場合は、かなりうまく機能します。また、より大きな兄弟のように通常のT-SQLを話すため、LinqtoSQLを使用できます。
Linq to Sqlのサポートは2.6リリースのMonoトランクに含まれていると聞いています。そのため、近い将来、L2SとSQLServerの緊密な結合が重要になる可能性があります。選択したデータベースでMonoの優れたLinqtoSql実装を使用するようにコードを移植するか、別のルートに完全に移行します(SubSonicは、最後に試したときから飛躍的に向上しています)。ただし、当面の間、SQLServerExpressは非常に小さなデータベース駆動型アプリに有効な選択肢です。