Це трохи (:)) залежить від того, яким ІЛИ картографом ви користуєтесь, тому приділіть деякий час дослідженню того, які функції db мають АБО Mapper у питанні підтримки / не підтримки.
Наприклад, картографічні оператори Майкрософт не підтримують усі вбудовані типи даних SQL Server, не підтримують деякі новіші / розширені функції TSQL (рекурсивні запити, підказки оптимізатора тощо.
Теоретично хороший АБО-картограф повинен бути досить гнучким, щоб подолати (і дозволити вам зіставити) добре розроблену схему реляційних баз даних до хорошої об'єктної моделі. Насправді нам ще належить ще трохи пройти, перш ніж всі частини головоломки будуть на місці; хоча багато АБО картографів підтримують розширене картографування, воно часто виникає за рахунок складних запитів та проблем продуктивності.
Для гарної продуктивності DB (і для збереження здорової інформації :), все ж слід дотримуватися кращих практик, коли справа стосується дизайну схеми db; нормалізуйте спочатку і денормалізуйте там, де [/ якщо] необхідно. Що стосується коду, не перестарайтеся з моделлю об'єкта ; навіть якщо ОР-картограф підтримує складні моделі успадкування та об'єкти, які об'єднують багато таблиць разом, це також сфери, де ви ризикуєте зіткнутися з надмірно складними запитами, потрапивши в базу даних тощо. Профіль, профіль, профіль і не просто приймайте ORM генеровані запити як належне. Майте на увазі, що АБО запити, створені в картографічному режимі, часто можна налаштувати так само, як звичайні запити SQL і що два функціонально еквівалентні запити на стороні об'єкта (наприклад, запити linq) іноді можуть призводити до дуже різних запитів SQL.