Re[11]: Пространство имён Rsdn.Framework.Data
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.11.03 08:26
Оценка:
Здравствуйте, gloomy rocker, Вы писали:

GR>Здорово А потрогать это можно?


Не, нельзя.
... << RSDN@Home 1.1.2 beta 1 >>
AVK Blog
Re[12]: Пространство имён Rsdn.Framework.Data
От: gloomy rocker Россия  
Дата: 27.11.03 08:29
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, gloomy rocker, Вы писали:


GR>>Здорово А потрогать это можно?


AVK>Не, нельзя.


Секретная разрабротка?
... << RSDN@Home 1.1.0 stable >>
Скука — двигатель прогресса.
Re[13]: Пространство имён Rsdn.Framework.Data
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.11.03 08:46
Оценка:
Здравствуйте, gloomy rocker, Вы писали:

AVK>>Не, нельзя.


GR>Секретная разрабротка?


Нет, просто коммерческая.
... << RSDN@Home 1.1.2 beta 1 >>
AVK Blog
Re[14]: Пространство имён Rsdn.Framework.Data
От: gloomy rocker Россия  
Дата: 27.11.03 08:51
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Нет, просто коммерческая.


Понятно...
А какова общая концепция, и что эта штука будет уметь?
... << RSDN@Home 1.1.0 stable >>
Скука — двигатель прогресса.
Re[15]: Пространство имён Rsdn.Framework.Data
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.11.03 09:06
Оценка:
Здравствуйте, gloomy rocker, Вы писали:

GR>А какова общая концепция,


В каком смысле?

GR>и что эта штука будет уметь?


То что уммет . Это не конечный продукт, это всего лишь средство для создания дизайнера для другой системы.
... << RSDN@Home 1.1.2 beta 1 >>
AVK Blog
Re[4]: Пространство имён Rsdn.Framework.Data
От: Alexds  
Дата: 08.12.03 12:14
Оценка:
Здравствуйте, Walker, Вы писали:

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


IT>>Больше заточено на бизнес-объекты. Но дописать что-то ещё проблем нет, нужны только идеи как это сделать.


W>Вообще-то если честно, то я уже там для себя поломал частично код, сделал 4 commands на объект, в нужные ф-и в качестве параметра вставил енум, определяющий какой тип команды использовать (general, insert, delete, update), ну и собсна дописал ф-и для UpdateDataset. Только вот получилось в конце-концов что-то страшное вот исходник ф-и в DbManager (потом дальше пример использования):


А можешь выслать полный код (с PrepareUpdateCommands и UpdateDataSetInternal).
А то мне тоже нужна подобная функциональность. Да и есть пара идей.
Re[5]: Пространство имён Rsdn.Framework.Data
От: Walker США  
Дата: 08.12.03 14:04
Оценка:
Здравствуйте, Alexds, Вы писали:

A>А можешь выслать полный код (с PrepareUpdateCommands и UpdateDataSetInternal).

A>А то мне тоже нужна подобная функциональность. Да и есть пара идей.

Без проблем, давай адрес.
Re[6]: Пространство имён Rsdn.Framework.Data
От: Alexds  
Дата: 08.12.03 14:27
Оценка:
Здравствуйте, Walker, Вы писали:

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


A>>А можешь выслать полный код (с PrepareUpdateCommands и UpdateDataSetInternal).

A>>А то мне тоже нужна подобная функциональность. Да и есть пара идей.

W>Без проблем, давай адрес.

Опс. Да, забыл. alexds@yandex.ru
Re[8]: Пространство имён Rsdn.Framework.Data
От: Igor Trofimov  
Дата: 09.12.03 07:08
Оценка:
VD>>А нельзя эти МсБлоки прикрутить к твоей библиотеке? Если можно, то привел бы пример...

IT>Exception Managment Block прикручивать нужно к бизнес-слоям, а не к библиотекам. Вот они, например, в Cache его воткнули, а если у меня своя логика обработки исключений? Но он же ведь уже там гвоздями прибит и даже Publish вызывает.


да, да.. не стоит всех насильно пересаживать на блоки путем встраивания их в Rsdn.Data
Re[4]: Пространство имён Rsdn.Framework.Data
От: Alexds  
Дата: 09.12.03 13:16
Оценка:
Здравствуйте, Walker, Вы писали:

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


IT>>Больше заточено на бизнес-объекты. Но дописать что-то ещё проблем нет, нужны только идеи как это сделать.


W>Как-то очень длинно получилось, теперь вот думаю как это упростить. Как вариант может быть занести CommandType, CommandText и Parameters в отдельную структуру, чтобы все почище получилось и дефолты чтобы хоть какие чтобы проставлять можно было без несчетного количества перегруженных ф-й...



А как насчет такого API (в дополнении к твоей ф-ции):
public DataSet UpdateSpDataSet(
    DataSet     dataSet,
    string      tableName,
    string      insertSpName,
    string      updateSpName,
    string      deleteSpName,
    IDbDataParameter keyField,
    IDbDataParameter[] commandParameters)
{}

public DataSet UpdateDataSet(
    DataSet     dataSet,
    string      tableName,
    string      insertCommandText,
    string      updateCommandText,
    string      deleteCommandText,
    IDbDataParameter keyField,
    IDbDataParameter[] commandParameters)
{}



Пример вызова:
using (DbManager db = CreateDataDbManager())
{
db.UpdateDataSet(
    dataSet, "Employees", "InsertEmployee", "UpdateEmployee", "DeleteEmployee",
    db.Parameter("ID", DbType.Int32, "ID"),
        db.Parameter("Title_ID", DbType.Int32, "Title_ID"),
        db.Parameter("FirstName", DbType.String, 50, "FirstName"),
        db.Parameter("LastName", DbType.String, 50, "LastName"),
        db.Parameter("Comments", DbType.String, 100, "Comments")
    );
}


Правда это будет работать при след соглашениях:
1 — В DataSet-e только одно поле первичный ключ (хотя можно добавить ф-ции с IDbDataParameter[] keyField)
2 — Если этот ключ == null , то это вставка записи
3 — Для удаление в процедуру (sql выражение) передается только ID

Вот. Что думаете?
IT — Можно ли что-то подобное добавить?
Re[9]: Пространство имён Rsdn.Framework.Data
От: IT Россия linq2db.com
Дата: 09.12.03 13:19
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

IT>>Exception Managment Block прикручивать нужно к бизнес-слоям, а не к библиотекам. Вот они, например, в Cache его воткнули, а если у меня своя логика обработки исключений? Но он же ведь уже там гвоздями прибит и даже Publish вызывает.


iT>да, да.. не стоит всех насильно пересаживать на блоки путем встраивания их в Rsdn.Data


Ты о чём?
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Пространство имён Rsdn.Framework.Data
От: Walker США  
Дата: 09.12.03 14:37
Оценка:
Здравствуйте, Alexds, Вы писали:

A>Вот. Что думаете?

A>IT — Можно ли что-то подобное добавить?

Насколько я понял, IT над этой библиотекой работает совсем в другую сторону, и не думаю, что в свою "официальную" версию будет включать поддержку апдейта датасетов, по крайней мере, по той схеме, как это сделал я, т.к. смотрится это криво как-то, хотя и работает IT, правильно я думаю?
А вот самому это сделать на своей версии — никаких проблем, это ж минут 15-20 работы от силы. Если у тебя вдруг не получается, могу помочь. Я это сразу не сделал, бо проект, на котором у меня это используется, работает под Access и MySql, а там процедер нема, вот за ненадобностью и не сделал
Re[6]: Пространство имён Rsdn.Framework.Data
От: Ведмедь Россия  
Дата: 09.12.03 14:41
Оценка:
Здравствуйте, Walker, Вы писали:

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


A>>Вот. Что думаете?

A>>IT — Можно ли что-то подобное добавить?

W>Насколько я понял, IT над этой библиотекой работает совсем в другую сторону, и не думаю, что в свою "официальную" версию будет включать поддержку апдейта датасетов, по крайней мере, по той схеме, как это сделал я, т.к. смотрится это криво как-то, хотя и работает IT, правильно я думаю?

W>А вот самому это сделать на своей версии — никаких проблем, это ж минут 15-20 работы от силы. Если у тебя вдруг не получается, могу помочь. Я это сразу не сделал, бо проект, на котором у меня это используется, работает под Access и MySql, а там процедер нема, вот за ненадобностью и не сделал

Я бы такую вешь реализовал как дополнительную утилиту. И такм образом, что бы ее можно было пользоватеть( настраивать имена процедур и параметры ) в дизайнере
Да пребудет с тобой Великий Джа
Re[6]: Пространство имён Rsdn.Framework.Data
От: Alexds  
Дата: 09.12.03 15:02
Оценка:
Здравствуйте, Walker, Вы писали:

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


A>>Вот. Что думаете?

A>>IT — Можно ли что-то подобное добавить?

W>Насколько я понял, IT над этой библиотекой работает совсем в другую сторону, и не думаю, что в свою "официальную" версию будет включать поддержку апдейта датасетов, по крайней мере, по той схеме, как это сделал я, т.к. смотрится это криво как-то, хотя и работает IT, правильно я думаю?


А что IT скажет?


W>А вот самому это сделать на своей версии — никаких проблем, это ж минут 15-20 работы от силы.

Проблема не в том, чтобы сделать. Просто хочется общего, единого, красивого решения
Re[7]: Пространство имён Rsdn.Framework.Data
От: Walker США  
Дата: 09.12.03 15:03
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>Я бы такую вешь реализовал как дополнительную утилиту. И такм образом, что бы ее можно было пользоватеть( настраивать имена процедур и параметры ) в дизайнере


Может быть как утилиту, прикручивающуюся отдельно к классу и юзающую его, но как ты это представляешь в дизайнере В дизайнере ты можешь настроить состояние класса, т.е. грубо говоря параметры конструктора и инициализацию мемберов. Здесь же речь идет о вызове отдельной функции. Хотя можно сделать так же как и Command и Adapter в дизайнере, но практика (по крайней мере моя и тех, кого я знаю) показывает, что это никогда в дизайнере не настраивается. Надо ли?
Re[7]: Пространство имён Rsdn.Framework.Data
От: Walker США  
Дата: 09.12.03 15:05
Оценка:
Здравствуйте, Alexds, Вы писали:

W>>А вот самому это сделать на своей версии — никаких проблем, это ж минут 15-20 работы от силы.

A>Проблема не в том, чтобы сделать. Просто хочется общего, единого, красивого решения

Так я ж про это и говорю — общее и единое есть, а вот красивости нет
Re[7]: Пространство имён Rsdn.Framework.Data
От: orangy Россия
Дата: 09.12.03 15:08
Оценка:
Здравствуйте, Alexds, Вы писали:

A>Проблема не в том, чтобы сделать. Просто хочется общего, единого, красивого решения

А надо ли всё под одну гребенку? Так и будет враппер на враппере сидеть и враппером погонять...
... << RSDN@Home 1.1.2 beta 2 >>
"Develop with pleasure!"
Re[8]: Пространство имён Rsdn.Framework.Data
От: Ведмедь Россия  
Дата: 09.12.03 15:17
Оценка:
Здравствуйте, Walker, Вы писали:

W>Здравствуйте, Ведмедь, Вы писали:


В>>Я бы такую вешь реализовал как дополнительную утилиту. И такм образом, что бы ее можно было пользоватеть( настраивать имена процедур и параметры ) в дизайнере


W>Может быть как утилиту, прикручивающуюся отдельно к классу и юзающую его, но как ты это представляешь в дизайнере В дизайнере ты можешь настроить состояние класса, т.е. грубо говоря параметры конструктора и инициализацию мемберов. Здесь же речь идет о вызове отдельной функции. Хотя можно сделать так же как и Command и Adapter в дизайнере, но практика (по крайней мере моя и тех, кого я знаю) показывает, что это никогда в дизайнере не настраивается.


Я бы рад их настраивать в дизайнере, да вот в чем загвоздка, там нельзя настраивать какой то обощенный, не привязынный к конкретному провайдеру класс.

Надо ли?

Да надо, примерно как комманд, что то вроде этого.
А по поводу дизайнера... ведь Формы ты же ручками не создаешь в 90% случаев, ты же использвешь дизайнер. Данные о там как апдейтится таблица( а в идеале датасет с указанием того какую таблицу в какое последовательности апдейтит ) являются данными статическими. То есть их хочется сделать декларативными. А вариантов которые первые приходят на ум я виже не много — кодогенерация ( а через дизайнер это можно сделать красиво , и конфигурация ( XML, допустим )

Все руки никак не дойдут, а хотелось бы иметь для апдейта датасета что такое, что настравиваешь в дизайнере, а рантайме создаешь экземпляр и говоришь ему падейт, где два параметра — что апдейтить ( Dataset ) и куда апдейтить ( строка коннекции или обьект, через который идет апдейт, в данном случае из библиотеки Rsdb.Framework.Data.

Я думаю такой механизм был бы удобным, пока нет нового фреймвока и новой студии... там вроде есть что то подобное.
Да пребудет с тобой Великий Джа
Re[9]: Пространство имён Rsdn.Framework.Data
От: mikа Stock#
Дата: 09.12.03 15:25
Оценка:
Здравствуйте, Ведмедь, Вы писали:

В>Я думаю такой механизм был бы удобным, пока нет нового фреймвока и новой студии... там вроде есть что то подобное.


Ну это еще не повод останавливать в развитии это библиотеки. Высокоуровневое над высокоуровневум еще никто не отменял Правда, Игорь?
Re[10]: Пространство имён Rsdn.Framework.Data
От: mikа Stock#
Дата: 09.12.03 15:27
Оценка:
Здравствуйте, mikа, Вы писали:

M>Здравствуйте, Ведмедь, Вы писали:


В>>Я думаю такой механизм был бы удобным, пока нет нового фреймвока и новой студии... там вроде есть что то подобное.


M>Ну это еще не повод останавливать в развитии это библиотеки. Высокоуровневое над высокоуровневум еще никто не отменял Правда, Игорь?


Отвечаю сам себе. Игоря я имел Ткачева. После написания данного поста решил выяснить, а как же по имени товарищ Ведмедь... Вот ведь совпадение!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.