Xin chào Tôi đang sử dụng phiên bản Beta 1 của gói NuGet này, cơ sở dữ liệu đã được tạo và tôi cần biết liệu có cách nào để điền các bảng của tôi thông qua di chuyển hay không. ThanxsLàm thế nào để lấy dữ liệu bằng cách sử dụng EntityFramework Code Migration đầu tiên
18
A
Trả lời
18
Các bài giới thiệu cho thấy làm thế nào để gieo rắc dữ liệu http://blogs.msdn.com/b/adonet/archive/2011/11/29/code-first-migrations-beta-1-no-magic-walkthrough.aspx
Seed dữ liệu: Override phương pháp Seed trong lớp này để thêm dữ liệu giống. - Phương thức Seed sẽ được gọi sau khi chuyển sang phiên bản mới nhất. - Bạn có thể sử dụng phương pháp mở rộng trình trợ giúp DbContext.AddOrUpdate() để tránh tạo dữ liệu hạt giống trùng lặp . Ví dụ.
myContext.AddOrUpdate(c => c.FullName,
new Customer { FullName = "Andrew Peters", CustomerNumber = 123 },
);
ok Tôi hiểu rồi, bài giới thiệu tuyệt vời, thanx. –
Tôi đã thực hiện câu trả lời và tôi nhận thấy rằng thực sự tôi có thể viết hạt giống của tôi tại tệp Cấu hình, nhưng mỗi lần tôi sử dụng mã Cập nhật-Cơ sở dữ liệu, những hạt giống đó sẽ điền vào DB, mọi lúc! :(... Tôi cố gắng thêm hạt giống trên các tệp di chuyển thay vào đó, nhưng tôi nghĩ nó không hoạt động theo cách đó. Bạn có thể giúp tôi với điều này không, tôi chỉ muốn những hạt giống cư trú db của tôi một lần và không phải mỗi lần tôi vào Update-Database , thanxs pal –
Bạn có quyền truy cập vào ngữ cảnh tại thời điểm đó, bạn có thể dễ dàng làm bọc một myContext.Tablename.Any() xung quanh khối mã. – Betty