Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передача данных из одного проекта в другой 
V
    Опции темы
IGV
Дата 21.7.2009, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.4.2008

Репутация: 1
Всего: 2



Имеется два проекта, назовем их Logic и DB
Logic - отвечает за логику приложения (в нем определен класс Person)
DB - отвечает за связь c базой данных.

Проект DB добавлен в reference в Logic. 

Необходимо передать в базу данных поля класса Person. Но в DB ничего не известно об этом классе. Как лучше всего передавать эти данные? 
Может создать новый класс в DB, экземпляр которого и передавать из Logic?

PM MAIL ICQ   Вверх
mr.Anderson
Дата 21.7.2009, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: нет
Всего: 128



Наоборот. Добавь референс на Logic в Db. И в методе, который должен принимать класс Person, так и передавай его.
Код

public void MyMethod(Person person)
{
    ...
}

И если Logic и Db находятся в разных пространствах имен, дополнительно в Logic придется использовать пространство, где находится класс Person, через директиву using.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
mihryak
Дата 21.7.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



всё зависит от задачи в целом, универсального правильного решения нет
в твоём случае нередко используются DTO, у тебя они будут определены в DB
возможно, будет приемлимо и напрямую использовать доменные классы в обеих сборках, тогда их придётся вынести в ещё одну, общую для всех сборку (это также применимо и для DTO)
 

Это сообщение отредактировал(а) mihryak - 21.7.2009, 11:58
PM MAIL ICQ   Вверх
IGV
Дата 21.7.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 1.4.2008

Репутация: 1
Всего: 2



mr.Anderson, 
а как я буду обращаться к методу из DB, если учесть, что Logic  фактически является ядром приложения?

mihryak, 
да, думаю в моем случае лучше всего вынести класс Person  в новую сборку. Спасибо.
PM MAIL ICQ   Вверх
mihryak
Дата 21.7.2009, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 19
Всего: 36



Цитата(mr.Anderson @  21.7.2009,  12:20 Найти цитируемый пост)
Наоборот. Добавь референс на Logic в Db. И в методе, который должен принимать класс Person, так и передавай его.

это неправильно, конечные сборки (работающие с внешними источниками данных - будь то БД, файлы, веб-сервисы и т.п.) всегда стоит делать максимально независимыми от других и с минимальной логикой (т.е. достаточной только для собственного функционирования)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.3258 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.