Nó phụ thuộc (:)) một chút vào những gì OR mapper bạn đang sử dụng, vì vậy hãy dành thời gian nghiên cứu những tính năng db của trình ánh xạ OR trong hỗ trợ câu hỏi / không hỗ trợ.
Ví dụ: trình ánh xạ OR của Microsoft không hỗ trợ tất cả các kiểu dữ liệu tích hợp của SQL Server, không hỗ trợ một số tính năng TSQL mới hơn / nâng cao (truy vấn đệ quy, gợi ý tối ưu hóa v.v.
Về lý thuyết , một trình ánh xạ OR tốt phải đủ linh hoạt để vượt qua (và cho phép bạn ánh xạ) một lược đồ cơ sở dữ liệu quan hệ được thiết kế tốt thành một mô hình đối tượng tốt. Trong thực tế, chúng ta vẫn còn một chút để đi trước khi tất cả các mảnh ghép được đưa ra; mặc dù nhiều trình ánh xạ OR hỗ trợ ánh xạ nâng cao nhưng nó thường phải trả giá bằng các truy vấn phức tạp và các vấn đề về hiệu năng.
Để có hiệu suất db tốt (và để duy trì sự tỉnh táo của dba :)) bạn vẫn nên tuân theo các thực tiễn tốt nhất khi nói đến thiết kế lược đồ db; bình thường hóa đầu tiên và không chuẩn hóa khi [/ nếu] cần thiết. Về phía mã, đừng quá nhiệt tình với mô hình đối tượng của bạn ; ngay cả khi trình ánh xạ OR hỗ trợ các mô hình và thực thể kế thừa phức tạp hợp nhất nhiều bảng với nhau, đây cũng là những lĩnh vực mà bạn có nguy cơ gặp rắc rối với các truy vấn quá phức tạp đánh vào cơ sở dữ liệu, v.v. Hồ sơ, hồ sơ, hồ sơ và không chỉ lấy ORM tạo truy vấn được cấp. Hãy nhớ rằng các truy vấn được tạo bởi trình ánh xạ thường có thể được điều chỉnh giống như các truy vấn SQL thông thường và hai truy vấn tương đương về chức năng ở phía đối tượng (ví dụ: truy vấn linq) đôi khi có thể dẫn đến các truy vấn SQL khác nhau.