7

Tôi có một số cơ sở dữ liệu hiện đang sử dụng FluentMigrator và tò mò muốn biết cách so sánh Di chuyển khung thực thể.Việc di chuyển khung thực thể có thể làm gì mà FluentMigrator không thể?

Có thể di chuyển EF dữ liệu hạt giống trong di chuyển và chọn lọc các tập lệnh di chuyển dựa trên các môi trường như FluentMigrator có thể có thẻ và hồ sơ không?

Tôi đã sử dụng EF Database Đầu tiên là ORM cho ứng dụng của mình, và tôi nghĩ rằng tôi đã đọc ở đâu đó rằng EF Migrations cũng được hỗ trợ cho không phải là Code First EF, nhưng nhóm của tôi đã suy nghĩ về việc tái cấu trúc mã Tuy nhiên, cách tiếp cận đầu tiên là do một số hạn chế với cách tiếp cận Cơ sở dữ liệu thứ nhất. Vì vậy, EF Migrations sẽ có ý nghĩa hơn để sử dụng hơn là có một khung di chuyển bên thứ ba khác khi đi với một cách tiếp cận mã đầu tiên?

+0

Vâng, chủ yếu, FM không thể tạo tự động di chuyển .. Tức là, nó không quét cơ sở dữ liệu, xác định những gì đã thay đổi và tạo tập lệnh dựa trên sự khác biệt. EFM thực hiện điều đó. –

+0

Bây giờ ba năm sau, tôi tò mò muốn biết bạn đã thử chuyển đổi hay chưa và trải nghiệm của bạn là gì. Có vẻ như hầu hết những người sử dụng di chuyển sử dụng một hoặc khác, và không thực sự có một ý kiến ​​về người khác. –

Trả lời

1

Tôi không có bất kỳ trải nghiệm nào với FluentMigrator nhưng sau khi lướt qua tài liệu ngắn gọn, có vẻ như bạn phải tạo thủ công di chuyển của mình?

EF sẽ nhắc di chuyển mỗi khi mô hình của bạn thay đổi và ứng dụng được chạy. Điều này làm cho nó dễ dàng, nhưng gây phiền nhiễu cùng một lúc. Khi bạn đã bật Di chuyển, mọi thay đổi đối với mô hình của bạn có liên quan đến thay đổi cơ sở dữ liệu sẽ yêu cầu di chuyển. Bạn có thể sửa đổi tho di chuyển và nó được tạo tự động. Chỉ cần xem phiên bản "xuống" ... Tôi đã có vấn đề.

Mã đầu tiên là tho khá liền mạch. Thậm chí xử lý các mô hình đối tượng phức tạp hơn như các lớp con. Bạn thậm chí có thể chỉ định cách các bảng được tạo ra (bảng cho từng loại, bảng cơ sở và một bảng cho từng loại, hoặc bảng đơn và khóa loại).

Tất cả những gì để nói, nếu bạn sẽ luôn tạo mã C# để cập nhật cơ sở dữ liệu của bạn, tôi sẽ đi với việc di chuyển được tích hợp sẵn của EF. Họ làm hầu hết công việc cho bạn.