![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: 1 Всего: 2 |
Имеется два проекта, назовем их Logic и DB
Logic - отвечает за логику приложения (в нем определен класс Person) DB - отвечает за связь c базой данных. Проект DB добавлен в reference в Logic. Необходимо передать в базу данных поля класса Person. Но в DB ничего не известно об этом классе. Как лучше всего передавать эти данные? Может создать новый класс в DB, экземпляр которого и передавать из Logic? |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Наоборот. Добавь референс на Logic в Db. И в методе, который должен принимать класс Person, так и передавай его.
И если Logic и Db находятся в разных пространствах имен, дополнительно в Logic придется использовать пространство, где находится класс Person, через директиву using. |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
всё зависит от задачи в целом, универсального правильного решения нет
в твоём случае нередко используются DTO, у тебя они будут определены в DB возможно, будет приемлимо и напрямую использовать доменные классы в обеих сборках, тогда их придётся вынести в ещё одну, общую для всех сборку (это также применимо и для DTO) Это сообщение отредактировал(а) mihryak - 21.7.2009, 11:58 |
|||
|
||||
| IGV |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 1.4.2008 Репутация: 1 Всего: 2 |
mr.Anderson,
а как я буду обращаться к методу из DB, если учесть, что Logic фактически является ядром приложения? mihryak, да, думаю в моем случае лучше всего вынести класс Person в новую сборку. Спасибо. |
|||
|
||||
| mihryak |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 731 Регистрация: 28.4.2007 Где: С-Пб Репутация: 19 Всего: 36 |
это неправильно, конечные сборки (работающие с внешними источниками данных - будь то БД, файлы, веб-сервисы и т.п.) всегда стоит делать максимально независимыми от других и с минимальной логикой (т.е. достаточной только для собственного функционирования) |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |