1
SQL CE 4.0ファイルに直接接続されたEntity FrameworkコードファーストDbContextインスタンスを作成するための小さなテスト機能を作成しましたが、実際にはグローバル状態アプローチが嫌いです。 DbDatabase静的プロパティを使用せずにこれを行うより良い方法はありませんか?グローバル状態なしのEntity Frameworkの使用
using System.Data;
using System.Data.Entity;
using System.Data.Entity.Database;
using System.Data.SqlServerCe;
public class SqlCeDb
{
public static T Instance<T>() where T: DbContext, new()
{
DbDatabase.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");
DbDatabase.SetInitializer<T>(new DropCreateDatabaseAlways<T>());
return new T();
}
}
入手しました。私が拡張しようとしているDbContextには、DbConnectionを受け入れるコンストラクタがあり、それが多かれ少なかれ問題を解決することがわかります。 –