2

私は単純なコンソール アプリケーションをセットアップしており、コード ファーストのエンティティを適切に動作させようとしています。基本的な例を作成し、クラスとコンテキストをセットアップしました。アプリケーションを実行すると、データベースが自動生成され、bin/Debugディレクトリに配置されます。それは素晴らしいので、少なくとも何かが機能します。しかし、SQL Server Compact 4.0 データベース ファイル ( .sdf) をプロジェクトに追加し、自動生成されたデータベースの代わりにそれを使用したいと考えています。私が読んだことから、派生DbContextクラスと一致する名前の接続文字列を追加するだけです。

以下は私のものapp.configです:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="StudentContext" 
         connectionString="Data Source=Database1.sdf" 
         providerName="System.Data.SqlServerCe.4.0"/>
  </connectionStrings>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="System.Data.SqlServerCe.4.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
</configuration>  

これは、コンテキストの初期化を使用しようとしたときに受け取ったエラーです。

ビジュアル スタジオ エラー

内部例外は言う

構成システムの初期化に失敗しました

コンストラクターを介してコンテキストを直接指定しようとしましたが、まだ運がありません。うまくいけば、私は何かを見落としているだけです。

(ちなみに、Nuget から EntityFramework を取得しましたが、5.0 である必要がありますが、appconfig では 4.4 と表示されていますか? 自動生成はうまく機能するので、互いに何の関係もないと考えました。)

4

1 に答える 1