Tôi mới dùng mã EF5 Đầu tiên và tôi đang làm việc với một chứng minh-khái niệm trước khi bắt tay vào một dự án tại nơi làm việc.Mã EF5 Đầu tiên - Thay đổi Loại Cột Với Di chuyển
Tôi đã bước đầu tạo ra một mô hình trông giống như
public class Person {
public int Id { get; set; }
public string FirstName { get; set;}
public string Surname {get;set;}
public string Location {get;set;}
}
Và tôi đã thêm một vài hồ sơ sử dụng một ứng dụng MVC chút tôi bị mắc kẹt trên đỉnh.
Bây giờ tôi muốn thay đổi cột Location một enum, một cái gì đó như:
public class Person {
public int Id { get; set; }
public string FirstName { get; set;}
public string Surname {get;set;}
public Locations Location {get;set;}
}
public enum Locations {
London = 1,
Edinburgh = 2,
Cardiff = 3
}
Khi tôi thêm sự di cư mới tôi nhận được:
AlterColumn("dbo.People", "Location", c => c.Int(nullable: false));
nhưng khi tôi chạy cập nhật cơ sở dữ liệu tôi gặp lỗi
Conversion failed when converting the nvarchar value 'London' to data type int.
Có cách nào trong quá trình di chuyển cắt bảng trước khi chạy câu lệnh thay đổi hay không ?
Tôi biết tôi có thể mở cơ sở dữ liệu và làm theo cách thủ công, nhưng có cách nào thông minh hơn không?
tôi muốn đề nghị các nhà phát triển ở các vị trí tương tự mà họ thấy nếu chuyển đổi được xử lý tự động bởi Entity Framework trước khi làm theo một số các câu trả lời trên trang này. Ví dụ, tôi thấy nó xử lý chuyển đổi giữa một chuỗi và một số thập phân và ngược lại một lần nữa mà không có sự trợ giúp nào từ tôi - sự di chuyển mà Add-Migration được tạo ra hoạt động tốt. Rõ ràng, hãy thử nó trên một cơ sở dữ liệu địa phương/thử nghiệm trước khi áp dụng nó vào sản xuất! – pipedreambomb