1投稿目からこれかよって感じですが、皆様はじめましてこんにちは。
さて、早速本題です。Visual Studio 2013でのASP.NET MVC開発において、
SQL Compact Editionが使いたい。
Visual Studio 2012では、例えばWeb.configに以下の様な接続文字列を追加すれば使えました。
<add name="DefaultConnection" connectionString="data source=|DataDirectory|aspdb.sdf" providerName="System.Data.SqlServerCe.4.0" />
が、Visual Studio 2013では使えない。なんなんだ。
実行してみると、『ADO.NET プロバイダーに、不変名が ‘System.Data.SqlServerCe.4.0’ の Entity Framework プロバイダーがありません。アプリケーションの構成ファイルの “entityFramework” セクションにプロバイダーが登録されていることを確認してください。詳細については、http://go.microsoft.com/fwlink/?LinkId=260882 を参照してください。』とか言われます。
そして詳細のURL先は英語。やめて。
どうやら、プロバイダーは別で提供されているので、
SqlServerCe用のをNuGetでプロジェクトにインストールせよ、とのことですね。
プロジェクト名を右クリックして、NuGetパッケージの管理、オンラインを「entity」か何かで検索すれば、「EntityFramework.SqlServerCompact」というのが出てきます。選択して、パッケージをインストール!
プロジェクト作成して、そのままEntityFramework.SqlServerCompactをインストールすると、EntityFrameworkの6.0.0が完全にアンインストールされませんでした、とか言われるので、インストールする前に1回VSを開き直したほうがいいです。
EntityFramework.SqlServerCompactが6.0.2のEntityFrameworkを要求するために、EntityFramework.SqlServerCompactのインストールと一緒にEntityFrameworkがバージョンアップされますが、プロジェクト作成直後はなんかひっかかるみたい。
ついでにSqlServerCeのバイナリも一緒にインストールされて便利。
あとは、上記の接続文字列をそのまま書いて、おしまい!
コメントが1個もないとフィートがエラーするんでテスト