ASP.NET MVC4 で Entity フレームワークを使い始めました。
フォルダーに 3 つのクラスをModel
作成し、モデルごとにコントローラーを作成しました。
アプリケーションを実行すると、モデルのすべてのクラスに対応する個別のデータベースが作成されました。
データベースを 1 つだけ使用する方法はありますか?
ASP.NET MVC4 で Entity フレームワークを使い始めました。
フォルダーに 3 つのクラスをModel
作成し、モデルごとにコントローラーを作成しました。
アプリケーションを実行すると、モデルのすべてのクラスに対応する個別のデータベースが作成されました。
データベースを 1 つだけ使用する方法はありますか?
クラスごとに個別のコンテキストを作成していますか?
public class Employee
{
[Key] public int EmpId { get; set; } // < Can I make a suggestion here
// and suggest you use Id rather than
// EmpId? It looks better referring to
// employee.Id rather than employee.EmpId
[Required] public string Fullname { get; set; }
...
}
public class AnotherClass
{
...
}
そして、コンテキスト内のすべてのモデルをリストします:
public MyDbContext : DbContext
{
public DbSet<Employee> Employees { get; set; }
public DbSet<AnotherClass> AnotherClasses { get; set; }
}
Context でコンストラクターを使用して、接続文字列名を指定することもできます。
public MyDbContext() : base("ConnectionString") { }
すべてのモデルが同じコンテキストにあることが重要です。
コンテキストの使用
var context = new MyDbContext();
var employees = context.employees.ToList(); // I prefer storing the data as an IList
これにより、データベースにクエリを実行し、従業員変数内にデータを格納するように EF に指示されます。