Tergantung (:)) sedikit pada apa ATAU mapper yang Anda gunakan, jadi luangkan waktu untuk meneliti fitur db mapper OR apa yang didukung / tidak didukung.
Misalnya, pemetaan Microsoft ATAU tidak mendukung semua tipe data bawaan SQL Server, tidak mendukung beberapa fitur TSQL yang lebih baru / canggih (kueri rekursif, petunjuk pengoptimal, dll. Muncul dalam pikiran).
Secara teori , seorang ATAU mapper yang baik harus cukup fleksibel untuk mengatasi (dan memungkinkan Anda untuk memetakan) skema database relasional yang dirancang dengan baik untuk model objek yang baik. Pada kenyataannya, kita masih harus sedikit sebelum semua potongan puzzle ada di tempatnya; meskipun banyak ATAU pembuat peta mendukung pemetaan tingkat lanjut, pemetaan itu sering kali dilakukan dengan mengorbankan pertanyaan yang rumit dan masalah kinerja.
Untuk kinerja db yang baik (dan untuk menjaga kewarasan dba :)), Anda harus tetap mengikuti praktik terbaik dalam hal desain skema db; normalisasikan dulu dan denormalkan di mana [/ jika] perlu. Di sisi kode, jangan berlebihan dengan model objek Anda ; bahkan jika ATAU mapper mendukung model pewarisan kompleks dan entitas yang menggabungkan banyak tabel bersama, ini juga area di mana Anda berisiko mengalami masalah dengan kueri yang terlalu rumit mengenai database dll. Profil, profil, profil, dan jangan hanya mengambil ORM permintaan yang dihasilkan begitu saja. Ingatlah bahwa ATAU kueri yang dihasilkan mapper sering dapat diubah seperti kueri SQL normal dan bahwa dua kueri yang secara fungsional setara di sisi objek (mis. Kueri linq) terkadang dapat menghasilkan kueri SQL yang sangat berbeda.