Здравствуйте, IT, Вы писали:
IT>А датасеты хранишь постоянно? IT>>>Что именно ты собираешься генерировать? _FR>>Классы сущностей. Их должно быть несколько десятков, код у них на 60% одинаков (геттеры-сеттеры свойств, закрузка\сохранение) за небольшими исключениями (типы\имена полей). Каждый класс — partial, то есть каждый можно расширить в зависимости от смысла. IT>Всё это давно умеет RFD.
Я понял! Я хочу генерить описание классов, которые затем буду передовать RFD. А что? Схема есть, по ней появляются описания абстрактных классов со всеми необходимыми аттрибутами, а RFD загоняет мне в них данные. Вот дождусь студии, буду скрещивать
<< RSDN@Home 1.1.4 beta 7 rev. 499 >> =04:05= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Re[12]: Buisness Entities в Распределенных приложениях(наши
Здравствуйте, GlebZ, Вы писали:
IT>>Можно и так. А ты говоришь неделю GZ>Ну я не подразумевал 2.0. До ноября еще дожить нужно. И еще чтобы при этом деньги были для Microsoft.
На 1.1 тоже самое, только выглядит чуть более громоздко.
GZ>Ок. Частая задача. Пользователю выводится грид. У пользователя есть некоторый набор контролов управления с помощью которого он может его фильтровать и сортировать. В результате, поскольку у нас Predicate<T> привязан к типу, то придется делать для каждого типа объекта свой фильтр. Для DataView все обойдет сбором строки фильтрации.
А сколько записей всреднем в гриде?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: Buisness Entities в Распределенных приложениях
Здравствуйте, _FRED_, Вы писали:
_FR>Я понял! Я хочу генерить описание классов, которые затем буду передовать RFD. А что? Схема есть, по ней появляются описания абстрактных классов со всеми необходимыми аттрибутами, а RFD загоняет мне в них данные.
А схема на чём?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[13]: Buisness Entities в Распределенных приложениях(наши
Здравствуйте, IT, Вы писали:
GZ>>Ок. Частая задача. Пользователю выводится грид. У пользователя есть некоторый набор контролов управления с помощью которого он может его фильтровать и сортировать. В результате, поскольку у нас Predicate<T> привязан к типу, то придется делать для каждого типа объекта свой фильтр. Для DataView все обойдет сбором строки фильтрации.
IT>А сколько записей всреднем в гриде?
Да хоть 10, функциональность в требованиях есть, значит вынь да положь. Кол-во записей — это совершенно другая проблема.
С уважением, Gleb.
Re[14]: Buisness Entities в Распределенных приложениях(наши
Здравствуйте, GlebZ, Вы писали:
GZ>>>Ок. Частая задача. Пользователю выводится грид. У пользователя есть некоторый набор контролов управления с помощью которого он может его фильтровать и сортировать. В результате, поскольку у нас Predicate<T> привязан к типу, то придется делать для каждого типа объекта свой фильтр. Для DataView все обойдет сбором строки фильтрации.
IT>>А сколько записей всреднем в гриде? GZ>Да хоть 10, функциональность в требованиях есть, значит вынь да положь. Кол-во записей — это совершенно другая проблема.
Падажди... Сколько максимум записей? И сколько критериев?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: Buisness Entities в Распределенных приложениях
Здравствуйте, IT, Вы писали:
_FR>>Я понял! Я хочу генерить описание классов, которые затем буду передовать RFD. А что? Схема есть, по ней появляются описания абстрактных классов со всеми необходимыми аттрибутами, а RFD загоняет мне в них данные.
IT>А схема на чём?
Если полностью отказаться от DataSet'ов, то в своём формате (хотя руками и его править неинтересно ), иначе добавить в проект датасет, поменять в нём Custom Tool на прогу, использующую R# и поменять Build Action на Embedded Resource или None.
Генератор должен будет проставлять много аттрибутов для красивой работы с объектами в Design-Time + сделать дизайнер для DataSource и DataMember, обращающийся к RFD.
Получится уже и presentatin layer framework
<< RSDN@Home 1.1.4 beta 7 rev. 499 >> =07:02= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Re[9]: Buisness Entities в Распределенных приложениях
Здравствуйте, _FRED_, Вы писали:
_FR>Если полностью отказаться от DataSet'ов, то в своём формате (хотя руками и его править неинтересно ), иначе добавить в проект датасет, поменять в нём Custom Tool на прогу, использующую R# и поменять Build Action на Embedded Resource или None.
Т.е. в своей схеме ты собираешься описывать структуру класса, а потом генерировать класс?
1. Чем это принципиально отличается от датасетов? Например, как ты собираешься имплементировать вычисляемые поля типа FullName, если есть FirstName и LastName?
2. Написание абстрактного класса ничем не длиннее. а может быть даже короче и быстрее написания схемы. Т.е. в чём поинт иметь схему в этом случае. Она ничего не упрощает, только усложняет.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[10]: Buisness Entities в Распределенных приложениях
Здравствуйте, IT, Вы писали:
_FR>>Если полностью отказаться от DataSet'ов, то в своём формате (хотя руками и его править неинтересно ), иначе добавить в проект датасет, поменять в нём Custom Tool на прогу, использующую R# и поменять Build Action на Embedded Resource или None. IT>Т.е. в своей схеме ты собираешься описывать структуру класса, а потом генерировать класс? IT>1. Чем это принципиально отличается от датасетов? Например, как ты собираешься имплементировать вычисляемые поля типа FullName, если есть FirstName и LastName?
Разобрать. Там всё просто — в крадратных кавыках имена свойств — надо их вызвать. Набор функций предельно ограничен, ничего сложного вроде нету.
IT>2. Написание абстрактного класса ничем не длиннее. а может быть даже короче и быстрее написания схемы.
Не "написания", а рисования
IT>Т.е. в чём поинт иметь схему в этом случае. Она ничего не упрощает, только усложняет.
Для получения в рантайме и дизайнтайме готовых глассов для работы с базой данных не придётся писать ни одной строчки — то есть во время разработки имеем все плюсы автоматизированного дизайнера, а во время выполнения избавляемся от грамоздкости ДатаСета. Хочется такого.
<< RSDN@Home 1.1.4 beta 7 rev. 499 >> =08:02= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Re[9]: Buisness Entities в Распределенных приложениях(наши д
Здравствуйте, _FRED_, Вы писали:
G2>>Интересно сделано в WeFly247(демонстрационное приложение к Whidbey Beta 2), там не стали делать один typedDataSet со связями, а просто нагенерили датасетов по принципу один typedDataSet представляет одну Business Entity.
_FR>Дождусь дисков, посмотрю...
Если будет не сложно, когда посмотрите сделайете пост пожалуйста.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Улыбаемся и машем :-)
Re[15]: Buisness Entities в Распределенных приложениях(наши
Здравствуйте, IT, Вы писали:
IT>Здравствуйте, GlebZ, Вы писали:
GZ>>>>Ок. Частая задача. Пользователю выводится грид. У пользователя есть некоторый набор контролов управления с помощью которого он может его фильтровать и сортировать. В результате, поскольку у нас Predicate<T> привязан к типу, то придется делать для каждого типа объекта свой фильтр. Для DataView все обойдет сбором строки фильтрации.
IT>>>А сколько записей всреднем в гриде? GZ>>Да хоть 10, функциональность в требованиях есть, значит вынь да положь. Кол-во записей — это совершенно другая проблема.
IT>Падажди... Сколько максимум записей? И сколько критериев?
Критерии = > >= < <= != для строк добавляются like '%xxx' like '%xxx%' like 'xxx%' и те же самые но not like.
Полей в среднем штук 10.
Записей наверное в среднем в районе 1000. Максимума как такового нет, просто по бизнес задаче примерно так получается.
С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[10]: Buisness Entities в Распределенных приложениях(наши
Здравствуйте, G2, Вы писали:
G2>>>Интересно сделано в WeFly247(демонстрационное приложение к Whidbey Beta 2), там не стали делать один typedDataSet со связями, а просто нагенерили датасетов по принципу один typedDataSet представляет одну Business Entity.
_FR>>Дождусь дисков, посмотрю...
G2>Если будет не сложно, когда посмотрите сделайете пост пожалуйста.
Договорились
<< RSDN@Home 1.1.4 beta 7 rev. 499 >> =08:32= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Re[16]: Buisness Entities в Распределенных приложениях(наши
Здравствуйте, GlebZ, Вы писали:
IT>>Падажди... Сколько максимум записей? И сколько критериев? GZ>Критерии = > >= < <= != для строк добавляются like '%xxx' like '%xxx%' like 'xxx%' и те же самые но not like. GZ>Полей в среднем штук 10.
Т.е. все возможные комбинации?
GZ>Записей наверное в среднем в районе 1000. Максимума как такового нет, просто по бизнес задаче примерно так получается.
А запросе это всё сделать нельзя?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[11]: Buisness Entities в Распределенных приложениях
Здравствуйте, _FRED_, Вы писали:
_FR>Разобрать. Там всё просто — в крадратных кавыках имена свойств — надо их вызвать. Набор функций предельно ограничен, ничего сложного вроде нету.
Когда появится дай знать
IT>>2. Написание абстрактного класса ничем не длиннее. а может быть даже короче и быстрее написания схемы.
_FR>Не "написания", а рисования
Ты и имена полей рисуешь? Или всё же ручками набиваешь?
IT>>Т.е. в чём поинт иметь схему в этом случае. Она ничего не упрощает, только усложняет.
_FR>Для получения в рантайме и дизайнтайме готовых глассов для работы с базой данных не придётся писать ни одной строчки — то есть во время разработки имеем все плюсы автоматизированного дизайнера, а во время выполнения избавляемся от грамоздкости ДатаСета. Хочется такого.
Это изобретение своего велосипеда. Ты не получишь всех возможностей бизнес-объектов и лишишься фич датасета.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[12]: Buisness Entities в Распределенных приложениях
Здравствуйте, IT, Вы писали:
IT>>>2. Написание абстрактного класса ничем не длиннее. а может быть даже короче и быстрее написания схемы. _FR>>Не "написания", а рисования IT>Ты и имена полей рисуешь? Или всё же ручками набиваешь?
Здесь да, здесь я не прав. Имена полей набиваю.
IT>>>Т.е. в чём поинт иметь схему в этом случае. Она ничего не упрощает, только усложняет.
_FR>>Для получения в рантайме и дизайнтайме готовых глассов для работы с базой данных не придётся писать ни одной строчки — то есть во время разработки имеем все плюсы автоматизированного дизайнера, а во время выполнения избавляемся от грамоздкости ДатаСета. Хочется такого. IT>Это изобретение своего велосипеда. Ты не получишь всех возможностей бизнес-объектов и лишишься фич датасета.
Какие возможности бизнес-объектов, которые предоставляет RFD, я могу потерять?
<< RSDN@Home 1.1.4 beta 7 rev. 499 >> =09:06= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Re[13]: Buisness Entities в Распределенных приложениях
Здравствуйте, _FRED_, Вы писали:
_FR>Какие возможности бизнес-объектов, которые предоставляет RFD, я могу потерять?
RFD тут не при чём. Потерять ты можешь инкапсуляцию, т.к. сгенерированные классы расширять ты не сможешь. И даже в C# 2.0 partial классы в данном случае будут выглядеть как затычка. Я вообще не понимаю зачем что-то генерить из чего-то, если сам результат по определению можно набить руками быстрее чем нарисовать источник для генерации. Вот скажи мне что быстрее, нарисовать схему и сгенерировать класс или написать:
public abstract class Person
{
public abstract string FirstName { get; set; }
public abstract string LastName { get; set; }
}
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[14]: Buisness Entities в Распределенных приложениях
Здравствуйте, IT, Вы писали:
_FR>>Какие возможности бизнес-объектов, которые предоставляет RFD, я могу потерять?
IT>RFD тут не при чём. Потерять ты можешь инкапсуляцию, т.к. сгенерированные классы расширять ты не сможешь.
IT>И даже в C# 2.0 partial классы в данном случае будут выглядеть как затычка.
IT>Я вообще не понимаю зачем что-то генерить из чего-то, если сам результат по определению можно набить руками быстрее чем нарисовать источник для генерации. Вот скажи мне что быстрее, нарисовать схему и сгенерировать класс или написать:
IT>public abstract class Person
IT>{
IT> public abstract string FirstName { get; set; }
IT> public abstract string LastName { get; set; }
IT>}
Сдаюсь! Набрать быстрее . Но, может, болезнь у меня такая но пора бы уже, имея такой инструмент, как .NET, набирать меньше. Работу со схемой и объяснить проще\нагляднее, и на схему можно "перетащить" таблицу из "Server Explorer" (и несколько таблиц пачкой, вместе со связями), и... ну, я считаю эстетичнее
<< RSDN@Home 1.1.4 beta 7 rev. 499 >> =09:33= [Windows XP — 5.1.2600.0] {Build at .NET 1.1.4322.2032}
under «*none*»
Help will always be given at Hogwarts to those who ask for it.
Re[17]: Buisness Entities в Распределенных приложениях(наши
IT>Т.е. все возможные комбинации?
Ага
GZ>>Записей наверное в среднем в районе 1000. Максимума как такового нет, просто по бизнес задаче примерно так получается.
IT>А запросе это всё сделать нельзя?
Можно, старая версия так и делала. Только у базы плохо с масштабируемостью было. Сейчас как-бы делается на клиенте.
С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[15]: Buisness Entities в Распределенных приложениях
Здравствуйте, _FRED_, Вы писали:
_FR>Сдаюсь! Набрать быстрее . Но, может, болезнь у меня такая но пора бы уже, имея такой инструмент, как .NET, набирать меньше. Работу со схемой и объяснить проще\нагляднее,
В VS 2005 будут диаграммы классов.
_FR>и на схему можно "перетащить" таблицу из "Server Explorer" (и несколько таблиц пачкой, вместе со связями),
Вот! Единственная фича, которая чего-то стоит. Пока я обхожусь копи-пейстом из Enterprise Manager. Но для этого и свою собственную перетягивалку не жалко написать
_FR>и... ну, я считаю эстетичнее
Эстетичнее найдя ошибку в дебагере тут же её исправить, а не бежать в схему, править её и потом перегенерировать класс. Эстетичнее всё иметь компактно и в одном месте. К тому же намного гибче, т.к. ты ничем не ограничен вообще. В случае с генератором ты ограничен возможностями генератора.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[18]: Buisness Entities в Распределенных приложениях(наши