Доменный управляемый дизайн: как получить списки сложных данных

ADO.NET является рядом библиотек классов, которые обеспечивают инфраструктуру доступа основных данных сверху.NET Основные Библиотеки классов. Это также содержит основную инфраструктуру LINQ, такую как статический класс Счетных (которые обеспечивают LINQ для Возражения), и интерфейс, чтобы сделать основной запрос против реляционных данных, таких как IQueryable.

LINQ к SQL НЕ является платформой доступа к данным.

ADO.NET может быть принят как платформа доступа к данным, но это может вводить в заблуждение, так как ADO.NET не является отдельным продуктом. ADP.NET является действительно частью Платформы.NET.

LINQ к SQL является просто реализацией LINQ для функционирования как поставщика данных, которые соединяются, и отображается непосредственно на SQL Server. Внизу LINQ к SQL, содержит тяжелые использования классов ADO.NET в Системе. Данные. Пространство имен SqlClient, таким образом, это реализовано сверху ADO.NET, но фокусирующийся на и это характерно для доступа к SQLServer.

5
задан Mark Kanof 27 August 2009 в 14:13
поделиться

2 ответа

Я бы посоветовал не рассматривать это как нечто, что вы должны втиснуть в свои сущности, а лучше предоставить сервис (на языке предметно-ориентированного дизайна), чья работа - собирать эти данные по запросу и представлять их в виде представления. Это освобождает вас от необходимости переделывать свои сущности неуклюжим способом.

Проблема в том, что на данный момент у меня нет никакого способа представить весь этот набор данных с помощью моих доменных сущностей.

Неуклюжие дизайнерские трения, которые вы чувствуете здесь, - это хорошо. Это признак того, что вещи не совсем подходят друг другу.

2
ответ дан 15 December 2019 в 01:07
поделиться

Похоже, вы (из-за появления этой трудности) определили проблему с вашей моделью предметной области. Абстракция, которую вы хотите отобразить в каждом из этих списков, очевидно, недостаточно хорошо представлена ​​ни в вашей модели предметной области, ни в вашем «повсеместном языке». Решите, что это такое, назовите его и добавьте код в свой репозиторий для создания списков этих объектов, независимо от того, являются ли они сущностями или объектами значений ...

2
ответ дан 15 December 2019 в 01:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: