Trong cơ sở dữ liệu, tôi có một bảng gọi là Liên hệ. Tên đầu tiên và các trường chuỗi khác được thiết kế để sử dụng kiểu dữ liệu Char (không phải thiết kế cơ sở dữ liệu của tôi). Đối tượng của tôi Liên lạc bản đồ với một loại chuỗi trong các thuộc tính. Nếu tôi muốn thực hiện một thử nghiệm đơn giản truy xuất đối tượng Địa chỉ liên hệ theo id, tôi sẽ làm một việc như sau:Làm thế nào để cắt các giá trị bằng cách sử dụng LINQ to Sql?
Contact contact = db.Contacts.Single(c => c.Id == myId);
Contact test = new Contact();
test.FirstName = "Martin";
Assert.AreEqual(test.FirstName, contact.FirstName);
Giá trị liên hệ.FirstName là "Martin" do loại char. Tôi có thể chặn thuộc tính FirstName khi nó đang được tải ở đâu? OnFirstNameChanging (giá trị chuỗi) không được gọi trên tải ban đầu (liên hệ), nhưng trên đối tượng thử nghiệm.
Tính năng này hoạt động. Nó là khá dễ dàng để làm cho từng lĩnh vực bởi vì tôi không hiển thị nhiều lĩnh vực để hiển thị. Cảm ơn. – Marsharks
Điều này sẽ tạo sự kiện đã thay đổi thuộc tính - điều này có thể kích hoạt các hành động khác - và có thể dẫn đến các bản cập nhật không cần thiết cho cơ sở dữ liệu vì bạn đang thay đổi giá trị của thuộc tính mà không thực hiện bất kỳ thay đổi ngữ nghĩa nào cho nội dung. – tvanfosson
Điểm của câu hỏi là tìm ra nơi để làm logic như vậy (trong trường hợp này là OnLoaded()); Bản thân phương thức có thể dễ dàng bao gồm "_FirstName = _FirstName.Trim();" để tránh sự kiện kích hoạt sự kiện đúng đắn. –