Bây giờ, câu trả lời này dựa trên kiến thức của tôi về EF4.3, vì vậy tôi hy vọng sự di chuyển hoạt động gần như giống nhau trong EF5 :) Sau khi bạn đã tạo di chuyển, bạn sẽ có thể thêm mã trong phần Lên và Phương thức xuống, giữa việc giảm thuộc tính cũ và tạo thuộc tính mới. Mã này sẽ di chuyển dữ liệu thuộc tính theo đúng hướng. Tôi đã giải quyết nó bằng phương thức SQL() ở nơi bạn có thể nhập SQL thô để thực hiện việc di chuyển dữ liệu.
Trong phương pháp Up của di cư:
SQL("update [TheTable] set [NewColumn] = [OldColumn]");
và trong) phương pháp Xuống (:
SQL("update [TheTable] set [OldColumn] = [NewColumn]");
Những bất lợi của phương pháp này là bạn có thể vài mã của bạn với cơ sở dữ liệu bạn đang làm việc với tại thời điểm này (vì bạn đang viết SQL cụ thể cho DB). Có thể có các phương pháp khác có sẵn để di chuyển dữ liệu.
Thông tin thêm có sẵn ở đây: MSDN
Nguồn
2012-10-27 22:33:08
Hãy cẩn thận với các tên bảng có dấu chấm trong đó. 'RenameColumn' tạo ra một câu lệnh T-SQL' sp_rename' sử dụng 'parsename' nội bộ có một số hạn chế. Vì vậy, nếu bạn có tên bảng có dấu chấm trong đó, ví dụ: "SubSystemA.Tablename" sau đó sử dụng: 'RenameColumn (" dbo. [SubSystemA.Tablename] "," OldColumnName "," NewColumnName ");' – Ilan