Вы написали, что требование было "сделать систему, которая берет данные откуда угодно". У меня такой информации нет (хотя я могу просто чего-то не знать), но я привел пример, где решение с абстракцией внутреннего представления от модели БД проистекает из задачи поставленной
к одной системе. Более того, это решение в этой форме существовало уже лет 10 (соотв. классы для абстракции появились где-то в AX2009).
Где я извратил ваши доводы?