powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Репозиторий
17 сообщений из 17, страница 1 из 1
Репозиторий
    #38376319
asia ggsgs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть репозиторий. В нем - метод GetById.
Он должен возвращать не список, а одну строку = объект.
Только вот не пойму в какой слой засунуть класс этого объекта...
...
Рейтинг: 0 / 0
Репозиторий
    #38376326
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описание паттерна проектирования Repository прочитай.
...
Рейтинг: 0 / 0
Репозиторий
    #38376347
gfgfg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAОписание паттерна проектирования Repository прочитай.
ссылку мож дать на толковое описание?
...
Рейтинг: 0 / 0
Репозиторий
    #38376353
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gfgfg, легко гуглится по запросу: "Описание паттерна проектирования Repository". Также смотри тут: 14459340 .
...
Рейтинг: 0 / 0
Репозиторий
    #38376368
skyANAgfgfg, легко гуглится по запросу: "Описание паттерна проектирования Repository". Также смотри тут: 14459340 .

гуглится легко да читать тяжело. Ты имеешь виду что в классическом репозитории нет такого метода как у меня или что?
...
Рейтинг: 0 / 0
Репозиторий
    #38376374
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рворвыровы, я имею ввиду, что репозиторий возвращает объекты уровня области определения (domain model layer).

Паттерн Repository (Репозиторий)
Паттерн Domain Model (Модель области определения)
...
Рейтинг: 0 / 0
Репозиторий
    #38376379
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Репозиторий
    #38376441
skyANAрворвыровы, я имею ввиду, что репозиторий возвращает объекты уровня области определения (domain model layer).

Паттерн Repository (Репозиторий)
Паттерн Domain Model (Модель области определения)

А в случае использования орм что является объектами уровня определения? Тот набор объектов что предоставлет орм? Чет путаница..
...
Рейтинг: 0 / 0
Репозиторий
    #38376467
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объекты уровня определения, или объекты предметной области, или бизнес-объекты не должны зависеть от модели данных.
Сегодня Вы храните все данные в реляционной СУБД и используете ORM, завтра часть данных переезжает в NoSQL БД, послезавтра Вы получаете данные от сервиса Ваших партнёров в виде XML, или JSON.

ORM - это, грубо говоря, один из видов отображения (mapping) данных в domain model объекты.
...
Рейтинг: 0 / 0
Репозиторий
    #38376620
ваавав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAОбъекты уровня определения, или объекты предметной области, или бизнес-объекты не должны зависеть от модели данных.
Сегодня Вы храните все данные в реляционной СУБД и используете ORM, завтра часть данных переезжает в NoSQL БД, послезавтра Вы получаете данные от сервиса Ваших партнёров в виде XML, или JSON.

ORM - это, грубо говоря, один из видов отображения (mapping) данных в domain model объекты.
запутали окончателдьно. Есть классы орм. Есть репозитории кот работают с этими классами.
Возможен еще один слой - бизнес логика. из контроллеров сейчас я дергаю репозитории.. поскольку бизнес логике тут делать нечего (сайт/ вся логика - это запросы к бд). Вы имеете ввиду что работать надо с бизнес логикой из контроллеров?
...
Рейтинг: 0 / 0
Репозиторий
    #38376705
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоп, забыли.

У Вас какая предметная область? Информацию о чём возвращает метод GetById с точки зрения пользователя?
Какого типа возвращаемый объект?
...
Рейтинг: 0 / 0
Репозиторий
    #38376787
dfdggft56
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAСтоп, забыли.

У Вас какая предметная область? Информацию о чём возвращает метод GetById с точки зрения пользователя?
Какого типа возвращаемый объект?

Веб -сайт - доступ к материалам (статьи и тп) которого и нужно организовать.
GetById - возвращает данные о внешних источниках информации:
строку из бд - url (+ дата обновления URL в бд, ошибки)
Тип объекта - Класс из ОРМ - назовем его просто URL.
...
Рейтинг: 0 / 0
Репозиторий
    #38376801
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот по фэн-шую Вы должны были спроектировать классы предметной области (domain model), в частности класс "назовем его просто URL".
Метод репозитория GetById должен возвращать экземпляр этого класса.

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

P.S.: кстати мы это уже обсуждали тут .
...
Рейтинг: 0 / 0
Репозиторий
    #38376807
skyANAНу вот по фэн-шую Вы должны были спроектировать классы предметной области (domain model), в частности класс "назовем его просто URL".
Метод репозитория GetById должен возвращать экземпляр этого класса.

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

P.S.: кстати мы это уже обсуждали тут .
понятно.
выходит если делать по феншую, то будет куча дубликатов классов ORM.
И вдобавок в репозитории маппировать нужно будет орм класс на класс предметной.
А кстати .. Если мы возвращаем класс предметной тут будет зависимость не от абстракции с этим как быть
...
Рейтинг: 0 / 0
Репозиторий
    #38376819
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fdfdfапыапывкskyANAНу вот по фэн-шую Вы должны были спроектировать классы предметной области (domain model), в частности класс "назовем его просто URL".
Метод репозитория GetById должен возвращать экземпляр этого класса.

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

P.S.: кстати мы это уже обсуждали тут .
понятно.
выходит если делать по феншую, то будет куча дубликатов классов ORM.
И вдобавок в репозитории маппировать нужно будет орм класс на класс предметной.
Настройка объектов (платформа Entity Framework)
Цитирую В составе платформы ADO.NET Entity Framework предусмотрены средства для автоматического формирования уровня объектов на основе концептуальной модели. Эти классы данных можно настраивать различными способами в зависимости от требований приложения. Пользовательские классы данных можно также использовать с моделью данных. Это полезно при обновлении классов данных существующих приложений для использования платформы Entity Framework или в случае, если необходима большая степень управления созданием классов данных.

Entity Framework позволяет использовать пользовательские классы данных с моделью данных без внесения изменений в классах данных, если имена типов сущностей, сложных типов и свойства пользовательских классов данных совпадают с именами типов сущностей, сложных типов и свойствами концептуальной модели. Это позволяет использовать традиционные объекты среды CLR (POCO), например объекты домена , с моделью данных. Дополнительные сведения см. в разделе Работа с сущностями POCO (платформа Entity Framework) .
fdfdfапыапывкА кстати .. Если мы возвращаем класс предметной тут будет зависимость не от абстракции с этим как бытьВ качетсве возвращаемого типа не указывать сам класс, а указывать интерфейс, что класс реализует, или generic тип.
...
Рейтинг: 0 / 0
Репозиторий
    #38382817
gogartsrts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAfdfdfапыапывкпропущено...

понятно.
выходит если делать по феншую, то будет куча дубликатов классов ORM.
И вдобавок в репозитории маппировать нужно будет орм класс на класс предметной.
Настройка объектов (платформа Entity Framework)
Цитирую В составе платформы ADO.NET Entity Framework предусмотрены средства для автоматического формирования уровня объектов на основе концептуальной модели. Эти классы данных можно настраивать различными способами в зависимости от требований приложения. Пользовательские классы данных можно также использовать с моделью данных. Это полезно при обновлении классов данных существующих приложений для использования платформы Entity Framework или в случае, если необходима большая степень управления созданием классов данных.

Entity Framework позволяет использовать пользовательские классы данных с моделью данных без внесения изменений в классах данных, если имена типов сущностей, сложных типов и свойства пользовательских классов данных совпадают с именами типов сущностей, сложных типов и свойствами концептуальной модели. Это позволяет использовать традиционные объекты среды CLR (POCO), например объекты домена , с моделью данных. Дополнительные сведения см. в разделе Работа с сущностями POCO (платформа Entity Framework) .
fdfdfапыапывкА кстати .. Если мы возвращаем класс предметной тут будет зависимость не от абстракции с этим как бытьВ качетсве возвращаемого типа не указывать сам класс, а указывать интерфейс, что класс реализует, или generic тип.

А если класс от ентити фреймворк, То он не реализует никакой интерфейс. выходит нужно заводить свой, а как мапить?
...
Рейтинг: 0 / 0
Репозиторий
    #38382821
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не устраивает как предлагает Microsoft, то мапить ручками, или использовать к примеру AutoMapper.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Репозиторий
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]