4

ASP.NET MVC4 で Entity フレームワークを使い始めました。

フォルダーに 3 つのクラスをModel作成し、モデルごとにコントローラーを作成しました。

アプリケーションを実行すると、モデルのすべてのクラスに対応する個別のデータベースが作成されました。

データベースを 1 つだけ使用する方法はありますか?

4

1 に答える 1

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 に指示されます。

于 2013-04-26T13:09:40.797 に答える