Возможно ли использовать BLT в этих условиях
От: NetFox  
Дата: 09.01.10 21:15
Оценка:
Что требуется для выполнения задачи (список может пополняться):

1. Наличие DTO для клиента и бизнес-объекта для апп-сервера.

2. У обоих должна быть реализована версионность или как минимум откат изменений.
Нужно знать, какие именно поля были изменены.
(что-то вроде EditableObject, только своя реализация)

3. Возможность загружать/сохранять в объекте лишь часть данных.
Возможность узнать какие именно данные были загружены.
(требуется для массовой обработки объектов)

4. Наличие метаданных для описания объектов в XML(с последующей генераций кода)
и возможность доступа к метаданным в runtime.

Комментарий: по поводу пунктов 2 и 3 — есть мысль хранить значения полей объекта
в некой структуре (например в словаре), доступ через свойства.

Хотелось бы возложить на BLT работу по CRUD операциям, по маппингу данных в объект.
Возможно ли это при наличии свойств и внутренней структуры данных в объекте?
Re: Возможно ли использовать BLT в этих условиях
От: IT Россия linq2db.com
Дата: 10.01.10 06:00
Оценка:
Здравствуйте, NetFox, Вы писали:

Вопрос не совсем понятен. Пункты 1-4 должны возлагаться на BLT или BLT должен всего лишь поддерживать такие структуры?
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Возможно ли использовать BLT в этих условиях
От: NetFox  
Дата: 11.01.10 09:44
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, NetFox, Вы писали:


IT>Вопрос не совсем понятен. Пункты 1-4 должны возлагаться на BLT или BLT должен всего лишь поддерживать такие структуры?


Поддерживать.

Пункты 1-4 — это будет моя реализация. Это краткое описание особенностей объектной модели.
Хотел узнать, справится ли BLT с маппингом на свойства, а не на поля, ибо самих полей как таковых не будет (уже выснил — справляется)
и как оптимальней всего залить в объект лишь часть данных (ручной запрос с нужными полями не прадлагать ) ?

На данный момент задача BLT — снять основную рутину CRUD операций бизнес-объектов.
Re[3]: Возможно ли использовать BLT в этих условиях
От: IT Россия linq2db.com
Дата: 11.01.10 14:19
Оценка:
Здравствуйте, NetFox, Вы писали:

NF>и как оптимальней всего залить в объект лишь часть данных (ручной запрос с нужными полями не прадлагать ) ?


Мапиться будут только те поля, которые будут присутствовать в источнике.

Думаю, ещё будет интересен интерфейс ISupportMapping и его методы BeginMapping/EndMapping, которые вызываются непосредственно до и после работы с объектом.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Возможно ли использовать BLT в этих условиях
От: NetFox  
Дата: 11.01.10 14:34
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, NetFox, Вы писали:


NF>>и как оптимальней всего залить в объект лишь часть данных (ручной запрос с нужными полями не прадлагать ) ?


IT>Мапиться будут только те поля, которые будут присутствовать в источнике.


Это понятно, надо только придумать, каким образом в методе GetPersons(string[] columns) сообщить BLT, что интересуют только те поля, которые указаны в параметрах.
Есть идеи?

IT>Думаю, ещё будет интересен интерфейс ISupportMapping и его методы BeginMapping/EndMapping, которые вызываются непосредственно до и после работы с объектом.


Пока еще не знаю, как его использовать, но возьму на вооружение.

Спасибо!
Re[5]: Возможно ли использовать BLT в этих условиях
От: NetFox  
Дата: 11.01.10 14:39
Оценка:
Здравствуйте, NetFox, Вы писали:

NF>Это понятно, надо только придумать, каким образом в методе GetPersons(string[] columns) сообщить BLT, что интересуют только те поля, которые указаны в параметрах.

NF>Есть идеи?
Естественно речь идет об универсальном решении, работающем для всех объектов: правильней вот так

List<Persons> GetObjects<Person>(string[] columns);
Re[6]: Возможно ли использовать BLT в этих условиях
От: IT Россия linq2db.com
Дата: 11.01.10 15:38
Оценка:
Здравствуйте, NetFox, Вы писали:

NF>>Это понятно, надо только придумать, каким образом в методе GetPersons(string[] columns) сообщить BLT, что интересуют только те поля, которые указаны в параметрах.

NF>>Есть идеи?

Можно посмотреть на SqlQuery. Там как раз реализованы CRUDL операции, но для всех полей объекта.
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Возможно ли использовать BLT в этих условиях
От: NetFox  
Дата: 11.01.10 15:43
Оценка:
Здравствуйте, IT, Вы писали:

IT>Можно посмотреть на SqlQuery. Там как раз реализованы CRUDL операции, но для всех полей объекта.


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