Что ж, возможно, вы не можете иметь однонаправленное отношение один-ко-многим , определенное только на стороне одна , но я поспорю с вашим утверждением, чтоэто «одна из самых основных вещей, которые можно сделать с ORM».
Одной из самых простых вещей было бы определение однонаправленного один-ко-многим , определенного только на стороне много - так как это естественно для таблиц RDBM.И ORM (несмотря на распространенное заблуждение) не предназначены (или не способны) полностью абстрагировать модель предметной области от базового источника данных .Даже если в некоторых случаях они могут, сторона базы данных страдает от выбранных проблем N + 1 или очень неэффективных запросов.
Определение один-ко-многим на одна сторонаСоздается впечатление, что считая коллекцию дешево.Это справедливо для простых графов объектов, но не для сущностей NHibernate, поскольку чтение коллекции вызывает (как минимум один) вызов базы данных.Стремительное извлечение со стороны one также не может должным образом использовать механизм соединения с базой данных так, как он предназначен (в отличие от нетерпеливого извлечения со стороны many ).
Даже если я не согласен с большим количеством аргументов, я думаю, что будет полезно прочитать некоторые статьи, в которых говорится, что «ORM - это анти-шаблон», например, , этот .Они помогли мне использовать то, что я думаю об ORM, и заставили меня думать о ORM как о компромиссе между двумя несоответствующими парадигмами , но не как о способе скрыть одну за другой.