Giả sử tôi có một bảng với cột Mô tả, varchar (100). Nếu cố gắng chèn một chuỗi với hơn 100 ký tự, chèn sẽ thất bại.Entity Framework 4.0 Tự động cắt bớt/cắt chuỗi trước khi chèn
Có cách nào trong Khung thực thể tự động cắt bớt hoặc cắt chuỗi để vừa với cột trước khi chèn vào cột không? Trong kịch bản của tôi, tôi thực sự không quan tâm liệu chuỗi có bị cắt ngắn hay không, tôi chỉ muốn nó được chèn thay vì chỉ thất bại và ghi lại lỗi.
Vì mô hình đã biết giới hạn độ dài, tôi đã nghĩ có thể có một cách để Khung thực thể làm điều này cho tôi.
Nếu điều này không được hỗ trợ, cách tốt nhất để làm điều này là gì? Mở rộng các lớp một phần được tạo tự động và ghi đè các phương thức On * Changed? Tôi không muốn mã hóa cứng các giới hạn độ dài, mà là sử dụng các giới hạn độ dài đã được xác định trong mô hình thực thể. Làm thế nào tôi có thể truy cập vào điều này?
Sửa
giải pháp cuối cùng của tôi là thực hiện On * Thay đổi phương pháp một phần của thực thể được tạo tự động.
Tôi đã sử dụng this method để nhận ObjectContext từ thể hiện đối tượng và sau đó sử dụng phương thức dưới đây để trích xuất độ dài tối đa và cắt bớt chuỗi.
Nó hoạt động, nhưng kỳ lạ đủ, chỉ cho một số cột. Có vẻ như EF không lấy được chiều dài cột từ các cột tùy ý trong trường hợp của tôi. –
@ReuelRibeiro Nếu bạn có thể tạo các bước repro và đặt nó vào một câu hỏi mới, tôi sẵn sàng xem xét xem tôi có thể sửa chữa nó cho bạn hay không. Tôi đã không có vấn đề với mã này mặc dù gần đây tôi đã ngừng sử dụng nó ngay bây giờ mà Entity Framework Extensions có chức năng này được tích hợp sẵn và chúng tôi sử dụng nó ngay bây giờ. – Jaxidian