Я рассматривал примеры в Интернете из 3-х слоев, и я заметил, что большинство образцов возвращают либо наборы данных, либо таблицы данных. То, что меня смущает, - это то, что если вы предпочитаете возвращать общий список типов, чтобы вы могли использовать свойства или методы из того типа, на котором основан ваш список? В качестве примера, использующего свойство Name, которое конкретизирует различные поля определенным образом в зависимости от данных, если List связан с элементом управления в форме, тогда свойство Name может использоваться как поле данных. Если вы захотите выполнить то же самое при использовании набора данных или таблицы, вам придется возвращать данные из базы данных, чтобы добиться того же (я стараюсь не использовать наборы данных или datatables, поэтому я, вероятно, очень ошибаюсь в отношении этого утверждения . :))Путаница с 3-слойным дизайном
Часть, которая меня действительно сбивает с толку, касается повторного использования кода, мне кажется, что единственный способ повторного использования кода - получить данные в наборе данных или в виде данных, а затем прокрутить данные и добавить их к списку, это, как правило, наилучшая практика для 3-х слоев или есть ли способ сделать это без наборов данных и данных.
Пример в приведенной ниже ссылке демонстрирует, по существу, использование наборов данных или таблиц, а затем добавление их к объекту, но я вынужден спросить, является ли это лучшей практикой?
http://www.codeproject.com/Articles/36847/Three-Layer-Architecture-in-C-NET
Благодаря
Используйте 'Datasets' или' DataTables' только для небольших проектов. Они плохо масштабируются и имеют множество ограничений. Класс 'dbConnection' в вашей ссылке является плохим примером, поскольку он не использует/закрывает соединения и другие одноразовые объекты. –