Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Khung thực thể Chèn dữ liệu ban đầu khi xây dựng lại

Bạn tạo trình khởi tạo cơ sở dữ liệu tùy chỉnh và ghi đè Seed phương pháp

public class MyContextInitializer
    : DropCreateDatabaseIfModelChanges<MyContext>
{
    protected override void Seed(MyContext context)
    {
        context.ContactTypes.Add(new ContactType { DisplayName = "Home" });
        context.ContactTypes.Add(new ContactType { DisplayName = "Mobile" });
        context.ContactTypes.Add(new ContactType { DisplayName = "Office" });
        context.ContactTypes.Add(new ContactType { DisplayName = "Fax" });

        //EF will call SaveChanges itself
    }
}

Sau đó, bạn đăng ký trình khởi tạo này cho ngữ cảnh bắt nguồn của bạn MyContext :

Database.SetInitializer<MyContext>(new MyContextInitializer());

Đây là một phương thức tĩnh của Database lớp và nên được gọi ở đâu đó một lần khi khởi động ứng dụng. Bạn cũng có thể đặt nó vào một phương thức khởi tạo tĩnh của ngữ cảnh để đảm bảo rằng intializer được đặt trước khi bạn tạo phiên bản ngữ cảnh đầu tiên:

static MyContext()
{
    Database.SetInitializer<MyContext>(new MyContextInitializer());
}

Thay vì trình khởi tạo cơ sở DropCreateDatabaseIfModelChanges<T> bạn cũng có thể lấy từ DropCreateDatabaseAlways<T> hoặc CreateDatabaseIfNotExists<T> nếu điều đó đáp ứng tốt hơn nhu cầu của bạn.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để hợp nhất nhiều hàng trong MySQL?

  2. Máy chủ lưu trữ máy chủ không xác định PHP MySql

  3. Làm thế nào để gọi các Thủ tục đã Lưu trữ với EntityFramework?

  4. MySQL bỏ qua 10 kết quả đầu tiên

  5. Cách dễ nhất để trích xuất ngày bắt đầu và ngày kết thúc nước rút từ db JIRA là gì?