[ANN] Надстройка к студии для генерации классов к Linq2BLT
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 28.01.10 22:38
Оценка: 227 (13)
В общем, хочу представить вашему вниманию свой проект для облегчения работы с Linq2BLT, целью которого в основном лишить Linq2SQL своего последнего (ИМХО) преимущества — наличия генератора классов. Про фичи лучше читайте тут: http://code.google.com/p/bltutilsvspackage/, ибо здесь их писать бесполезно ввиду того, что проект в активной разработке и список фичей будет меняться. Сегодня сделал более-менее рабочий инсталлер, но если что, проект можно собрать и самостоятельно. Для сборки нужен установленный VS SDK, для сборки сетапа — WiX 3.0 SDK, всё остальное уже имеется в SVN. Сам BLToolkit подключен через svn:external, посему при обновлении данного репозитория автоматически обновится и BLToolkit.

Краткая инструкция по использованию:
Правый щелчок на c# проекте -> Add New Item... -> BLToolkit Settings File -> Назови его как-нить(это имя будет частью имени контекста — SomethingDbContext) -> OK

Далее, дабл-клик на файле — ты увидишь страницу настроек. Вводишь имя сервака и имя базы. Из типов креденшелов пока работают тока 2 — clear text и Intergrated. После ввода инфы тыкай "Сохранить".
Для (пере)генерации файлов правый клик на проекте -> "Update Database Definition". По идее всё должно пройти нормально. Дальше надо руками подключить референс на BLToolkit и после этого проект должен нормально собираться.

Баги/предложения писать сюда или напрямую в багтрекер на сайте — буду разбираться по мере возможностей.

Огромное спасибо товарищу под ником Holms за альфа-тестирование и предложения!
[КУ] оккупировала армия.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: IT Россия linq2db.com
Дата: 29.01.10 00:16
Оценка:
Здравствуйте, koandrew, Вы писали:

Круть!

Баги:

— обламывается на именах таблиц с пробелами вроде "Order Details" из Northwind.

Пожелания:

— добавить опции для генерации автосвойств или полей.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 29.01.10 14:52
Оценка:
Здравствуйте, IT, Вы писали:


IT>Круть!



IT>Баги:


IT>- обламывается на именах таблиц с пробелами вроде "Order Details" из Northwind.

Fixed in rev. 26

IT>Пожелания:


IT>- добавить опции для генерации автосвойств или полей.

С автосвойствами да и вообще с внешним видом кода засада — я использую CodeDom для генерации кода, а там почти нет возможностей для управления внешним видом... Если кто вдруг знает, как устроить автосвойства через CodeDom — подскажите, я сделаю.

Ещё Holms подкинул идею генерить enum'ы для словарей на основе содержимого таблиц. Мне кажется, интересная мысля. В ближайшие выходные попробую что-нить сделать в этой сфере...
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.10 15:08
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Если кто вдруг знает, как устроить автосвойства через CodeDom — подскажите, я сделаю.


Долько добавлением сниппета. Поэтому даже сам МС ныне использует не CodeDOM, а T4 и индивидуальные шаблоны для каждого языка.

K>Ещё Holms подкинул идею генерить enum'ы для словарей на основе содержимого таблиц.


Какая то очень странная идея, ИМХО.
... << RSDN@Home 1.2.0 alpha 4 rev. 1418 on Windows 7 6.1.7600.0>>
AVK Blog
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 29.01.10 15:24
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Долько добавлением сниппета. Поэтому даже сам МС ныне использует не CodeDOM, а T4 и индивидуальные шаблоны для каждого языка.

Откровенно говоря, я не вижу особого смысла заниматься украшательством автогенерённого кода, ибо он не предназначен для ручной правки... И CodeDom я выбрал по двум причинам — легкость переключения языка, на котором генерится код, и более-менее вменяемая и, что самое главное, готовая объектная модель.
[КУ] оккупировала армия.
Re[5]: [ANN] Надстройка к студии для генерации классов к Lin
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.01.10 15:35
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Откровенно говоря, я не вижу особого смысла заниматься украшательством автогенерённого кода


Украшательство бог с ним, а вот отсутствие кучи конструкций это куда серьезнее.

K>И CodeDom я выбрал по двум причинам — легкость переключения языка, на котором генерится код


Как видишь, легкость относительная.

K>, и более-менее вменяемая и, что самое главное, готовая объектная модель.


Оно тебе нафига? Т4 как то без обходится, и ничего.
... << RSDN@Home 1.2.0 alpha 4 rev. 1418 on Windows 7 6.1.7600.0>>
AVK Blog
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 29.01.10 15:52
Оценка:
Здравствуйте, IT, Вы писали:

IT>- добавить опции для генерации автосвойств или полей.


Сейчас перечитал — ты имеешь ввиду генерацию публичных полей вместо свойств? Мне всегда казалось это очень плохим стилем
[КУ] оккупировала армия.
Re[5]: [ANN] Надстройка к студии для генерации классов к Lin
От: IT Россия linq2db.com
Дата: 29.01.10 15:54
Оценка: +1
Здравствуйте, koandrew, Вы писали:

K>Откровенно говоря, я не вижу особого смысла заниматься украшательством автогенерённого кода, ибо он не предназначен для ручной правки...


Украшательством есть всегда смысл заниматься, хотя бы для того, чтобы не шарахаться от монитора, когда отладчик входит внутрь сгенерированного метода. Автосвойства полезны как раз для того, чтобы лишний раз в такой код не заходить. Маппинг на поля, как я понимаю, вообще не возможен.

K>И CodeDom я выбрал по двум причинам — легкость переключения языка, на котором генерится код, и более-менее вменяемая и, что самое главное, готовая объектная модель.


Сложно что либо сказать. Часто бывает, что выбор простого, но не гибкого решения в дальнейшем оборачивается редкостным гемором и вся задача сводится в дальнейшем к борьбе с этой негибкостью и решение очень быстро превращается из простого в сложное и запутанное.
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 29.01.10 16:14
Оценка:
Здравствуйте, IT, Вы писали:
IT>Украшательством есть всегда смысл заниматься, хотя бы для того, чтобы не шарахаться от монитора, когда отладчик входит внутрь сгенерированного метода. Автосвойства полезны как раз для того, чтобы лишний раз в такой код не заходить.
Может и так. В принципе переделать движок дело не особенно сложное.

IT>Маппинг на поля, как я понимаю, вообще не возможен.

А он нужен? Если будет нужен — сделаю. Ничего сложного там нет.

IT>Сложно что либо сказать. Часто бывает, что выбор простого, но не гибкого решения в дальнейшем оборачивается редкостным гемором и вся задача сводится в дальнейшем к борьбе с этой негибкостью и решение очень быстро превращается из простого в сложное и запутанное.

Бывает и так...
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: IT Россия linq2db.com
Дата: 29.01.10 16:16
Оценка:
Здравствуйте, koandrew, Вы писали:

IT>>- добавить опции для генерации автосвойств или полей.


K>Сейчас перечитал — ты имеешь ввиду генерацию публичных полей вместо свойств? Мне всегда казалось это очень плохим стилем


Что именно в этом плохого?
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: [ANN] Надстройка к студии для генерации классов к Lin
От: IT Россия linq2db.com
Дата: 29.01.10 16:18
Оценка:
Здравствуйте, koandrew, Вы писали:

IT>>Маппинг на поля, как я понимаю, вообще не возможен.

K>А он нужен? Если будет нужен — сделаю. Ничего сложного там нет.

Раз не сложно, то почему бы и не сделать.
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: [ANN] Надстройка к студии для генерации классов к Lin
От: IT Россия linq2db.com
Дата: 29.01.10 16:20
Оценка: +1
Здравствуйте, koandrew, Вы писали:

K>Если будет нужен — сделаю. Ничего сложного там нет.


Кстати, ещё опционально хотелось бы иметь возможность добавлять к таким классам разметку DataContract для WCF.
Если нам не помогут, то мы тоже никого не пощадим.
Re[8]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 29.01.10 17:26
Оценка: 29 (1)
Здравствуйте, IT, Вы писали:

IT>Раз не сложно, то почему бы и не сделать.


Сделал (ревизия 28)
[КУ] оккупировала армия.
Re[8]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 29.01.10 17:27
Оценка: 29 (1)
Здравствуйте, IT, Вы писали:

IT>Кстати, ещё опционально хотелось бы иметь возможность добавлять к таким классам разметку DataContract для WCF.


Сделал (ревизия 28)
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 18:28
Оценка: +1
Здравствуйте, koandrew, Вы писали:

K>С автосвойствами да и вообще с внешним видом кода засада — я использую CodeDom для генерации кода, а там почти нет возможностей для управления внешним видом... Если кто вдруг знает, как устроить автосвойства через CodeDom — подскажите, я сделаю.


Сдается мне лучше вообще не использовать CodeDom.

Можно попробовать заменить CodeDom на CCI AST.
Но еще лучше просто генерировать текст. Например, тем же T4.

CodeDom обижен природой. Тут уже ничего не поделаешь.

В качестве затычки можешь просто использовать CodeSnippetXxx для подстановки текста в нужное место.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 18:30
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Откровенно говоря, я не вижу особого смысла заниматься украшательством автогенерённого кода, ибо он не предназначен для ручной правки... И CodeDom я выбрал по двум причинам — легкость переключения языка, на котором генерится код, и более-менее вменяемая и, что самое главное, готовая объектная модель.


Ты ошибся только в двух предположениях. Она не готовая и не вполне вменяемая.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 18:41
Оценка: +1
Здравствуйте, IT, Вы писали:

IT>Автосвойства полезны как раз для того, чтобы лишний раз в такой код не заходить. Маппинг на поля, как я понимаю, вообще не возможен.


Ээээ... Товарисч, не пристало вам такую пургу нести! В мсиле автосвойств нет как ложки в матрице. Эффекта "незахождения отладчика в свойство" компилятор шарпа добивается путем добавления к коду свойств атрибутов System.Runtime.CompilerServices.CompilerGeneratedAttribute. Того же эффекта можно достичь добавив атрибут System.Diagnostics.DebuggerNonUserCode.


IT>Сложно что либо сказать. Часто бывает, что выбор простого, но не гибкого решения в дальнейшем оборачивается редкостным гемором и вся задача сводится в дальнейшем к борьбе с этой негибкостью и решение очень быстро превращается из простого в сложное и запутанное.


+1
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 18:42
Оценка:
Здравствуйте, IT, Вы писали:

K>>Сейчас перечитал — ты имеешь ввиду генерацию публичных полей вместо свойств? Мне всегда казалось это очень плохим стилем


IT>Что именно в этом плохого?


Как же в МС сказали, что это плохо. Значит...
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: Dog  
Дата: 04.02.10 18:47
Оценка: +1
VD>Но еще лучше просто генерировать текст. Например, тем же T4.
+1
Хоть можно будет шаблоны править по ходу.
Re[5]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 18:52
Оценка: +1
Здравствуйте, Dog, Вы писали:

Dog>Хоть можно будет шаблоны править по ходу.


Ну, вот это будет вызвать проблемы. Ты же их будешь локально править. Если потом и автор их поправит, то будет тебе работа по синхронизации. При некотором количестве различий проще будет твои правки выбросить.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: [ANN] Надстройка к студии для генерации классов к Lin
От: IT Россия linq2db.com
Дата: 04.02.10 19:01
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>Автосвойства полезны как раз для того, чтобы лишний раз в такой код не заходить. Маппинг на поля, как я понимаю, вообще не возможен.


VD>Ээээ... Товарисч, не пристало вам такую пургу нести! В мсиле автосвойств нет как ложки в матрице. Эффекта "незахождения отладчика в свойство" компилятор шарпа добивается путем добавления к коду свойств атрибутов System.Runtime.CompilerServices.CompilerGeneratedAttribute. Того же эффекта можно достичь добавив атрибут System.Diagnostics.DebuggerNonUserCode.


Товарисч, вам бы спуститься с небес на ... Нет, точнее выйти из сумрака низкоуровневого кода и атрибутов компилятора в обычный мир. После этого можно будет написать код с использованием автосвойств и попробовать войти в него отладчиком.

Кстати, не уверен, что CompilerGeneratedAttribute приводит к игнорирования кода отладчиком. Хотя всё может быть. Тем не менее самому отладчику глубоко плевать как на CompilerGeneratedAttribute, так и на DebuggerNonUserCode вместе с DebuggerStepThrough. Отладчик ходит по тому коду, по которому ему сказал ходить компилятор, не больше и не меньше.
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.02.10 19:58
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Сдается мне лучше вообще не использовать CodeDom.


VD>Можно попробовать заменить CodeDom на CCI AST.

VD>Но еще лучше просто генерировать текст. Например, тем же T4.

VD>CodeDom обижен природой. Тут уже ничего не поделаешь.


Ну фиг его знает. Я стал его использовать в основном для того, чтобы облегчить переход на другие языки (для N уже есть провайдер? )...

VD>В качестве затычки можешь просто использовать CodeSnippetXxx для подстановки текста в нужное место.


Не переношу затычки.
[КУ] оккупировала армия.
Re[6]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.02.10 20:12
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Ты ошибся только в двух предположениях. Она не готовая и не вполне вменяемая.


Мой опыт свидетельствует об обратном. А тот факт, что не любой код можно взаимно однозначно отобразить на CodeDom-модель, если подумать, следует из языковой независимости данной модели. Тем не менее, работать с ней довольно удобно. И уж точно она уже готовая и уже работает
Не факт, что изобретение своей модели является лучшим решением (что-то мне подсказывает, что в итоге выйдет нечто подобное CodeDom'у). Можно конечно соорудить некий языково-независимый DSL (CodeDom — это тоже DSL, но он увиверсален), для которого потом понаписать трансляторы в нужные целевые языки, тогда, возможно, удастся заимплементить всё необходимое в нём (в т.ч. и автосвойста), но, как это обычно бывает, это только вопрос времени, когда мы упрёмся в ограничения, вызванные специализацией. Всё-таки я верю, что CodeDom дизайнили товарищи с опытом побольше моего, и шанс нарваться на что-то нереализуемое там меньше...
Далее, тут есть ещё одна проблема. Дело в том, что понятие "красивый код" субъективно по определению, и потому я опасаюсь потока фидбека а-ля "сделайте скобочку на предудущей/следующей строке", "используйте пробелы/табы для форматирования" и тому подобную ерунду, которую гораздо проще сделать с помощью решарпера или ещё какого-нить средства форматирования кода. У меня есть мысль задействовать R# при его наличии для пост-процессинга снегерённого кода, но то, что предложили
Автор: koandrew
Дата: 02.02.10
разработчики, мне кажется чрезмерно замороченным...
Хотя, конечно, я могу быть не прав. Если объём предложений об отказе от CodeDom будет продолжать поступать — ну чтож, переделаю. Благо я являюсь сторонником SRP и кодогенерация чётко отделена от остальных частей, а потому может быть независимо переписана.
[КУ] оккупировала армия.
Re[8]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 21:52
Оценка:
Здравствуйте, IT, Вы писали:

IT>Кстати, не уверен, что CompilerGeneratedAttribute приводит к игнорирования кода отладчиком. Хотя всё может быть. Тем не менее самому отладчику глубоко плевать как на CompilerGeneratedAttribute, так и на DebuggerNonUserCode вместе с DebuggerStepThrough. Отладчик ходит по тому коду, по которому ему сказал ходить компилятор, не больше и не меньше.


Уверен? Что-то я не помню, чтобы в немерле была спец-обработка по поводу DebuggerNonUserCode, вроде как он работает.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 21:53
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Ну фиг его знает. Я стал его использовать в основном для того, чтобы облегчить переход на другие языки (для N уже есть провайдер? )...


Есть. Но на мой взгляд здесь текстовый T4 был бы более подходящим решением.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.10 22:01
Оценка: 16 (1)
Здравствуйте, koandrew, Вы писали:

K>Всё-таки я верю, что CodeDom дизайнили товарищи с опытом побольше моего, и шанс нарваться на что-то нереализуемое там меньше...


Не КодДом проектировали какие-то индусы под сериализатор в ВинФормсах. От того он и такой недоделанный.
То что он абстрагирован от языка (т.е. является AST в полном смысле этого слов) — это да. Но все же он дико не удобен и не гибок.

K>Далее, тут есть ещё одна проблема. Дело в том, что понятие "красивый код" субъективно по определению, и потому я опасаюсь потока фидбека а-ля "сделайте скобочку на предудущей/следующей строке", "используйте пробелы/табы для форматирования" и тому подобную ерунду, которую гораздо проще сделать с помощью решарпера или ещё какого-нить средства форматирования кода. У меня есть мысль задействовать R# при его наличии для пост-процессинга снегерённого кода, но то, что предложили
Автор: koandrew
Дата: 02.02.10
разработчики, мне кажется чрезмерно замороченным...


Кстати, не стоит называть РеШарпер R#. У нас есть свой R#.

Что по поводу форматирования, то это как раз не так важно. А вот то что за код будет генерировать — это важно. И тут текстовый генератор был бы более удобен, по моему.

K>Хотя, конечно, я могу быть не прав. Если объём предложений об отказе от CodeDom будет продолжать поступать — ну чтож, переделаю. Благо я являюсь сторонником SRP и кодогенерация чётко отделена от остальных частей, а потому может быть независимо переписана.


Если не откажешься от самого КодДома, то возмоно лучше взять его аналог из CCI. Он вроде как совместим с КодДомом но расширен для удобства применения. Для него имеется генерация форматированного кода на шарпе и васике (если не ошибаюсь).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.02.10 22:07
Оценка: +1
Здравствуйте, VladD2, Вы писали:

VD>Уверен? Что-то я не помню, чтобы в немерле была спец-обработка по поводу DebuggerNonUserCode, вроде как он работает.


Да, мои сведения говорят о том же. Этим делом рулит галка Debug Non-User Code иил что-то вроде того в настройках. Методы, помеченные DebuggerStepThroughAttribute, дебаггер проскакивает, если только не установить бряк внутри (вроде). В принципе, могу добавить навешивание этого атрибута к сгенерённый код — делов-то на минуту...
[КУ] оккупировала армия.
Re[8]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.02.10 22:12
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Не КодДом проектировали какие-то индусы под сериализатор в ВинФормсах. От того он и такой недоделанный.

VD>То что он абстрагирован от языка (т.е. является AST в полном смысле этого слов) — это да. Но все же он дико не удобен и не гибок.
Может и так — не знаю

VD>Кстати, не стоит называть РеШарпер R#. У нас есть свой R#.



VD>Что по поводу форматирования, то это как раз не так важно. А вот то что за код будет генерировать — это важно. И тут текстовый генератор был бы более удобен, по моему.

Я очень опасаюсь того, что юзеры начнут наезжать на тему codestyle и править шаблоны руками. Тогда придётся в инсталлере этот момент как-то обрабатывать, а как — я пока понятия не имею...

VD>Если не откажешься от самого КодДома, то возмоно лучше взять его аналог из CCI. Он вроде как совместим с КодДомом но расширен для удобства применения. Для него имеется генерация форматированного кода на шарпе и васике (если не ошибаюсь).

А вот за это спасибо, посмотрю...
[КУ] оккупировала армия.
Re[6]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.02.10 22:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Есть. Но на мой взгляд здесь текстовый T4 был бы более подходящим решением.


Как я уже сказал выше, надо будет придумать, как разруливать ручные модификации этих шаблонов при обновлении. Ну и какой-то простой AST Model надо будет сварганить поверх этого дела — чтобы сохранить языковую независимость..
[КУ] оккупировала армия.
Re[9]: [ANN] Надстройка к студии для генерации классов к Lin
От: IT Россия linq2db.com
Дата: 04.02.10 23:40
Оценка:
Здравствуйте, VladD2, Вы писали:

IT>>Кстати, не уверен, что CompilerGeneratedAttribute приводит к игнорирования кода отладчиком. Хотя всё может быть. Тем не менее самому отладчику глубоко плевать как на CompilerGeneratedAttribute, так и на DebuggerNonUserCode вместе с DebuggerStepThrough. Отладчик ходит по тому коду, по которому ему сказал ходить компилятор, не больше и не меньше.


VD>Уверен? Что-то я не помню, чтобы в немерле была спец-обработка по поводу DebuggerNonUserCode, вроде как он работает.


Она может быть в емите.
Если нам не помогут, то мы тоже никого не пощадим.
Re[7]: [ANN] Надстройка к студии для генерации классов к Lin
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.10 00:43
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Как я уже сказал выше, надо будет придумать, как разруливать ручные модификации этих шаблонов при обновлении.


Не надо это разруливать. Помечай файлы как read-only и тот кто их поправит будет сам себе злобный буратина.

K>Ну и какой-то простой AST Model надо будет сварганить поверх этого дела — чтобы сохранить языковую независимость..


Это, да.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: [ANN] Надстройка к студии для генерации классов к Li
От: VladD2 Российская Империя www.nemerle.org
Дата: 05.02.10 00:44
Оценка:
Здравствуйте, IT, Вы писали:

IT>Она может быть в емите.


Если только так.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: [ANN] Надстройка к студии для генерации классов к Lin
От: Dog  
Дата: 05.02.10 10:21
Оценка:
Dog>>Хоть можно будет шаблоны править по ходу.
VD>Ну, вот это будет вызвать проблемы. Ты же их будешь локально править. Если потом и автор их поправит, то будет тебе работа по синхронизации. При некотором количестве различий проще будет твои правки выбросить.
Значит надо добавить возможность использовать свои шаблоны. Можно скопировать стандартный, поправить и указать какой использовтаь. Т4 хоть легко читать и править можно.
Re[9]: [ANN] Надстройка к студии для генерации классов к Lin
От: Dog  
Дата: 05.02.10 10:24
Оценка:
VD>>Что по поводу форматирования, то это как раз не так важно. А вот то что за код будет генерировать — это важно. И тут текстовый генератор был бы более удобен, по моему.
K>Я очень опасаюсь того, что юзеры начнут наезжать на тему codestyle и править шаблоны руками.
И это правильно

K> Тогда придётся в инсталлере этот момент как-то обрабатывать, а как — я пока понятия не имею...

А можно добавить в конфиг какой шаблон используется ?
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: kkolyan33  
Дата: 09.02.10 19:50
Оценка:
Здравствуйте, koandrew, Вы писали:


K>Краткая инструкция по использованию:

K>Правый щелчок на c# проекте -> Add New Item... -> BLToolkit Settings File -> Назови его как-нить(это имя будет частью имени контекста — SomethingDbContext) -> OK

что то не могу найти этот файл (BLToolkit Settings File), когда создаю web site
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 10.02.10 02:34
Оценка: :)
Здравствуйте, kkolyan33, Вы писали:

K>что то не могу найти этот файл (BLToolkit Settings File), когда создаю web site


Этот пункт доступен только для C# Library проектов и Console Application. Ибо мне кажется неправильным пихать DAL в presentation layer. Но "если очень хочется", то есть способ — правый клик на проекте -> Add database definition, затем переименовать файл как вам нужно. Дальше всё как обычно...
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: Andy77 Ниоткуда  
Дата: 10.02.10 02:58
Оценка: +1
Здравствуйте, koandrew, Вы писали:

K>Этот пункт доступен только для C# Library проектов и Console Application. Ибо мне кажется неправильным пихать DAL в presentation layer.


Думаю, стоит ослабить это ограничение, не путай layer и tier — зачастую несколько layer'ов вполне себе нормально сосуществуют в пределах одного проекта.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: IT Россия linq2db.com
Дата: 10.02.10 03:16
Оценка: :)
Здравствуйте, koandrew, Вы писали:

K>>что то не могу найти этот файл (BLToolkit Settings File), когда создаю web site

K>Этот пункт доступен только для C# Library проектов и Console Application. Ибо мне кажется неправильным пихать DAL в presentation layer.

Их всё равно больше.
Если нам не помогут, то мы тоже никого не пощадим.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: Flem1234  
Дата: 11.02.10 14:42
Оценка:
Здравствуйте, koandrew, Вы писали:

>Баги/предложения писать сюда или напрямую в багтрекер на сайте — буду разбираться по мере возможностей.


Студия стала вылетать. Подозрение на этот плагин. У кого-нибудь есть подобные проблемы?
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 11.02.10 15:20
Оценка:
Здравствуйте, Flem1234, Вы писали:

F>Студия стала вылетать. Подозрение на этот плагин. У кого-нибудь есть подобные проблемы?


Посмотрите EventLog — может быть, там есть какая-то диагностика?
Ещё можно попробовать запустить студию с включенным логированием:

devenv /log full_path_to_log_file.xml

и посмотреть, что там происходит.
Пока вроде никто о таких проблемах не сообщал...
[КУ] оккупировала армия.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: Holms США  
Дата: 11.02.10 16:22
Оценка:
Здравствуйте, Flem1234, Вы писали:

F>Студия стала вылетать. Подозрение на этот плагин. У кого-нибудь есть подобные проблемы?

Установлен уже 2 недели, никаких проблем
... << RSDN@Home 1.2.0 alpha 4 rev. 1427>>
The life is relative and reversible.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: Flem1234  
Дата: 11.02.10 16:34
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Посмотрите EventLog — может быть, там есть какая-то диагностика?


Разобрался, оказалось надо было установить KB963676
В EventLog писало
.NET Runtime version 2.0.50727.3603 - Неисправимая ошибка в модуле исполнения (7A036050) (80131506)
Re: BUG
От: Аноним  
Дата: 18.02.10 08:54
Оценка:
Если у таблицы владелец не dbo, то возникает ошибка при генерации классов.
Re[2]: BUG
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 18.02.10 13:04
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Если у таблицы владелец не dbo, то возникает ошибка при генерации классов.


Спасибо, посмотрю в выходные — как закончу праздновать своё ДР и приобретение новой машины
[КУ] оккупировала армия.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: senglory  
Дата: 01.03.10 23:50
Оценка: 8 (1)
Здравствуйте, koandrew, Вы писали:


K>Краткая инструкция по использованию:

K>Правый щелчок на c# проекте -> Add New Item... -> BLToolkit Settings File

Нифига не получается. VS 2008 SP1. Нет такого "BLToolkit Settings File" в списке в Add New Item
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: senglory  
Дата: 02.03.10 02:35
Оценка:
Здравствуйте, senglory, Вы писали:

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



K>>Краткая инструкция по использованию:

K>>Правый щелчок на c# проекте -> Add New Item... -> BLToolkit Settings File

S>Нифига не получается. VS 2008 SP1. Нет такого "BLToolkit Settings File" в списке в Add New Item


В догонку: запуск студии через devenv /log C:\PRJ\logfile.txt дал вот что:


<entry>
<record>135</record>
<time>2010/03/02 01:53:33.698</time>
<type>Information</type>
<source>Microsoft Visual Studio</source>
<description>Unexpected system error mode before loading package [AndreySmirnov.BLToolkitUtils.VSPackage.BLToolkitUtilsPackage, BLToolkitUtils.VSPackage, Version=0.1.123.456, Culture=neutral, PublicKeyToken=null]</description>
<guid>{741AE11E-DC27-4052-8AAD-31B9295A9649}</guid>
</entry>


Здесь — полный лог.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: Holms США  
Дата: 02.03.10 03:17
Оценка:
Здравствуйте, senglory, Вы писали:

S>Здесь — полный лог.


Возьмите здесь сборку которая работает у меня.
После распаковки запустите команду

"C:\Program Files (x86)\Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\Tools\bin\RegPkg.exe" /codebase  "%PATH_TO_DLL%\BLToolkitUtils.VSPackage.dll"
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" /setup


после этого в диалоге New Item должно быть так
... << RSDN@Home 1.2.0 alpha 4 rev. 1463>>
The life is relative and reversible.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 02.03.10 03:43
Оценка:
Здравствуйте, senglory, Вы писали:

S>Нифига не получается. VS 2008 SP1. Нет такого "BLToolkit Settings File" в списке в Add New Item


Странно. В логе ничего особенного не нашёл (эти ошибки не носят фатального характера)... Судя по наличию пакета в списке "About", пакет был успешно загружен.
1. Укажите, о каком именно типе проекта идёт речь? Пока этот дополнительный пункт показывается только для проектов типа C# Class Library и C# Console Application. Поддержка VB.NET (и, возможно, других типов проектов) есть в планах, но сейчас я занят некоторой инфраструктурной работой, необходимой для реализации некоторых запрошенных фич. Если всё пойдёт по плану, то к концу недели выкачу на ваш суд очередную версию с новыми фичами.
2. По правой кнопке на проекте должны появиться два новых пункта меню (Add Database Definition и Update Database Definition). Есть ли они у вас и, если есть, в каком состоянии (включены/выключены)?

Спасибо!
[КУ] оккупировала армия.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 02.03.10 03:48
Оценка:
Здравствуйте, Holms, Вы писали:

H>После распаковки запустите команду


H>
H>"C:\Program Files (x86)\Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\Tools\bin\RegPkg.exe" /codebase  "%PATH_TO_DLL%\BLToolkitUtils.VSPackage.dll"
H>"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" /setup
H>


В этом случае необходим Visual Studio SDK.
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: senglory  
Дата: 02.03.10 07:22
Оценка:
Здравствуйте, koandrew, Вы писали:

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


S>>Нифига не получается. VS 2008 SP1. Нет такого "BLToolkit Settings File" в списке в Add New Item


K>Странно. В логе ничего особенного не нашёл (эти ошибки не носят фатального характера)... Судя по наличию пакета в списке "About", пакет был успешно загружен.

K>1. Укажите, о каком именно типе проекта идёт речь? Пока этот дополнительный пункт показывается только для проектов типа C# Class Library и C# Console Application. Поддержка VB.NET (и, возможно, других типов проектов) есть в планах, но сейчас я занят некоторой инфраструктурной работой, необходимой для реализации некоторых запрошенных фич. Если всё пойдёт по плану, то к концу недели выкачу на ваш суд очередную версию с новыми фичами.
K>2. По правой кнопке на проекте должны появиться два новых пункта меню (Add Database Definition и Update Database Definition). Есть ли они у вас и, если есть, в каком состоянии (включены/выключены)?

K>Спасибо!


Скачал обновление, поставил VS SDK. Пункт Add database definition появился, но при попытке его вызвать (проект C# Class Lib) получаю приаттаченое сообщение

ЧТо не так теперь?
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 03.03.10 02:53
Оценка:
Здравствуйте, senglory, Вы писали:

S>Скачал обновление, поставил VS SDK. Пункт Add database definition появился, но при попытке его вызвать (проект C# Class Lib) получаю приаттаченое сообщение


S>ЧТо не так теперь?


Похоже на косяк инсталлятора Инсталлятор записывает некоторую конфигурационную инфу в ветку реестра HKLM\Software\BLToolkitUtils.VSPackage, которая затем используется расширением в работе. Не могли бы вы проверить наличие данной ветки и, если она есть, привести здесь её содержимое? Также нужно будет знать путь, по которому у вас установлен пакет, и разрядность вашей ОС.

Спасибо!
[КУ] оккупировала армия.
Re[5]: [ANN] Надстройка к студии для генерации классов к Lin
От: senglory  
Дата: 03.03.10 03:16
Оценка: 8 (1)
Здравствуйте, koandrew, Вы писали:

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


S>>Скачал обновление, поставил VS SDK. Пункт Add database definition появился, но при попытке его вызвать (проект C# Class Lib) получаю приаттаченое сообщение


S>>ЧТо не так теперь?


K>Похоже на косяк инсталлятора Инсталлятор записывает некоторую конфигурационную инфу в ветку реестра HKLM\Software\BLToolkitUtils.VSPackage, которая затем используется расширением в работе. Не могли бы вы проверить наличие данной ветки и, если она есть, привести здесь её содержимое? Также нужно будет знать путь, по которому у вас установлен пакет, и разрядность вашей ОС.


K>Спасибо!


Винда — 32битная XP Prof SP3, патченая всем свежим от MS. В этой ветке у меня вот что:


REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\BLToolkitUtils.VSPackage]
@="$VSPackage"
"ProductVersion"="v0.1a"
"ItemsPath"="C:\\Program Files\\BLTUtilsVSPackageSetup\\ProjectItems\\"
"ProjectItemTemplatesPath"="C:\\Program Files\\BLTUtilsVSPackageSetup\\ProjectItems\\ProjectItemTemplates\\"


Папки BLTUtilsVSPackageSetup в Program Files у меня нет и никогда не было.
Re[6]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 03.03.10 10:34
Оценка:
Здравствуйте, senglory, Вы писали:

S>Винда — 32битная XP Prof SP3, патченая всем свежим от MS. В этой ветке у меня вот что:



S>

S>REGEDIT4

S>[HKEY_LOCAL_MACHINE\SOFTWARE\BLToolkitUtils.VSPackage]
S>@="$VSPackage"
S>"ProductVersion"="v0.1a"
S>"ItemsPath"="C:\\Program Files\\BLTUtilsVSPackageSetup\\ProjectItems\\"
S>"ProjectItemTemplatesPath"="C:\\Program Files\\BLTUtilsVSPackageSetup\\ProjectItems\\ProjectItemTemplates\\"


S>Папки BLTUtilsVSPackageSetup в Program Files у меня нет и никогда не было.


"Суду всё ясно" © Косяк инсталлятора. Будем чинить.
[КУ] оккупировала армия.
Re[7]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 04.03.10 22:06
Оценка:
Здравствуйте, koandrew, Вы писали:

K>"Суду всё ясно" © Косяк инсталлятора. Будем чинить.


А вы устанавливали пакет сетапом или сами компилировали? Если первое, то попробуйте новый сетап (я только что выложил) и отпишитесь, завелось или нет.
[КУ] оккупировала армия.
Re[8]: [ANN] Надстройка к студии для генерации классов к Lin
От: senglory  
Дата: 04.03.10 22:44
Оценка:
Здравствуйте, koandrew, Вы писали:

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


K>>"Суду всё ясно" © Косяк инсталлятора. Будем чинить.


K>А вы устанавливали пакет сетапом или сами компилировали? Если первое, то попробуйте новый сетап (я только что выложил) и отпишитесь, завелось или нет.




Not Found
The requested URL /files/BLTUtilsVSPackageSetup.r31.msi?project=bltutilsvspackage was not found on this server.

Re[9]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 05.03.10 00:58
Оценка:
Здравствуйте, senglory, Вы писали:

S>

S>Not Found
S>The requested URL /files/BLTUtilsVSPackageSetup.r31.msi?project=bltutilsvspackage was not found on this server.


Это у гугла какой-то глюк был. Сейчас должно работать.
[КУ] оккупировала армия.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: ailin Россия  
Дата: 24.03.10 05:35
Оценка:
Тул выглядит отлично!

Хотелось бы иметь возможность его использовать в случае если схема таблицы отличается от дефолтной(dbo).

Пока что в данном случае появляется следующая ошибка для каждой из таблиц:
Нельзя ничего сказать о глубине лужи, пока не попадешь в нее.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 24.03.10 13:51
Оценка:
Здравствуйте, ailin, Вы писали:

A>Тул выглядит отлично!


A>Хотелось бы иметь возможность его использовать в случае если схема таблицы отличается от дефолтной(dbo).


Спасибо. Я в курсе этой ошибки и починю её к следующему релизу. Обещать сроки не буду, ибо я уже однажды пообещал, но выполнить не смог ввиду занятости на основной работе, но думаю, что в крайнем случае к концу следующей недели сделаю (у нас будет long weekend)...

Кстати, я планирую таблицы из разных схем поместить в разные неймспейсы. Может, у вас есть какие-то другие мысли на этот счёт? Если да — давайте обсудим, пока ещё не поздно

К этому релизу уже сделано или планирую сделать следующее:
— per-table settings system. Это больше базовый компонент, необходимый для реализации целого ряда из запланированных фич.
— Foreign key associations. Генерация атрибутов [Association]
— schemas support. Это то, о чём мы говорили выше.

Далее по плану переделка кодогенерации с CodeDom на использование темплейтов. Но это походу будет довольно серьёзным куском работы, посему обещать его пока не буду
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: ailin Россия  
Дата: 24.03.10 15:31
Оценка:
Также хотелось бы чтобы namespace(ns), куда помещаются классы для таблиц и сам контекст можно было либо:
— учитывалась вложенность папок, где лежит *.dbdef (сейчас ns соответствует ns сборки)
— задать в глобально в настройках
Нельзя ничего сказать о глубине лужи, пока не попадешь в нее.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 24.03.10 15:34
Оценка:
Здравствуйте, ailin, Вы писали:

A>Также хотелось бы чтобы namespace(ns), куда помещаются классы для таблиц и сам контекст можно было либо:

A>- учитывалась вложенность папок, где лежит *.dbdef (сейчас ns соответствует ns сборки)

Это я давно собираюсь сделать — всё забываю
[КУ] оккупировала армия.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: Andy77 Ниоткуда  
Дата: 24.03.10 17:22
Оценка:
Здравствуйте, koandrew, Вы писали:

K>В общем, хочу представить вашему вниманию свой проект для облегчения работы с Linq2BLT, целью которого в основном лишить Linq2SQL своего последнего (ИМХО) преимущества — наличия генератора классов.


А когда ты планируешь добавить поддержку Оракла?
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: Holms США  
Дата: 24.03.10 17:35
Оценка:
Здравствуйте, koandrew, Вы писали:


K>К этому релизу уже сделано или планирую сделать следующее:

K>- per-table settings system. Это больше базовый компонент, необходимый для реализации целого ряда из запланированных фич.
K>- Foreign key associations. Генерация атрибутов [Association]
K>- schemas support. Это то, о чём мы говорили выше.
еще не плохо бы добавить опцию при генерации таблиц что-бы все классы были унаследованны от EditableObject<T>
здесь инфа как правильно должен выглядить класс.
... << RSDN@Home 1.2.0 alpha 4 rev. 1465>>
The life is relative and reversible.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 24.03.10 20:20
Оценка:
Здравствуйте, Andy77, Вы писали:

A>А когда ты планируешь добавить поддержку Оракла?


Когда найдётся желающий помочь мне с этим делом Сам я в оракле полный ноль Если желающих не найдётся — займусь сам, когда закончу с основной функциональностью и окончательно утрясу интерфейс SchemaProvider'ов...
[КУ] оккупировала армия.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 25.03.10 02:47
Оценка:
Здравствуйте, Holms, Вы писали:

H>еще не плохо бы добавить опцию при генерации таблиц что-бы все классы были унаследованны от EditableObject<T>

H>здесь инфа как правильно должен выглядить класс.

Ты бы писал сразу в трекер — тогда я точно не забуду С английским у тебя проблем быть вроде не должно
[КУ] оккупировала армия.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 25.03.10 02:52
Оценка:
Здравствуйте, ailin, Вы писали:

A>Также хотелось бы чтобы namespace(ns), куда помещаются классы для таблиц и сам контекст можно было либо:

A>- учитывалась вложенность папок, где лежит *.dbdef (сейчас ns соответствует ns сборки)
A>- задать в глобально в настройках

Сделал тикет: http://code.google.com/p/bltutilsvspackage/issues/detail?id=3
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: Holms США  
Дата: 25.03.10 03:47
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Когда найдётся желающий помочь мне с этим делом Сам я в оракле полный ноль Если желающих не найдётся — займусь сам, когда закончу с основной функциональностью и окончательно утрясу интерфейс SchemaProvider'ов...

Кстати, насчет SchemaProvider-ов, если посмотришь Janus\Core\DataSchemaManagement то там уже кто-то начал делать абстракцию для схем БД. Я еще раньше предложил добавить такую фичу в BLToolkit, но AndrewVK сказал что не надо, теперь вот каждый по своему делает, обидно.
... << RSDN@Home 1.2.0 alpha 4 rev. 1465>>
The life is relative and reversible.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: Аноним  
Дата: 29.03.10 12:56
Оценка: :)
bltutilsvspackage не совместим с Visual Studio Express 2008 SP1 Eng.

Посмотрел, ушёл писать свой.
Уверен что отсутствие штатной IDE серьёзно снижает популярность BLToolkit.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 29.03.10 13:22
Оценка: +1
Здравствуйте, <Аноним>, Вы писали:

А>bltutilsvspackage не совместим с Visual Studio Express 2008 SP1 Eng.


С Экспрессами вообще никакие пакеты кроме родных не совместимы.

А>Посмотрел, ушёл писать свой.


Для Экспресса?

А>Уверен что отсутствие штатной IDE серьёзно снижает популярность BLToolkit.


Что такое "штатная IDE"?
... << RSDN@Home 1.2.0 alpha 4 rev. 1466 on Windows 7 6.1.7600.0>>
AVK Blog
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: Ziaw Россия  
Дата: 10.04.10 02:31
Оценка:
Здравствуйте, koandrew

Андрей, разрешите пожалуйста воспользоваться кодом http://code.google.com/p/bltutilsvspackage/source/browse/#svn/trunk/BLToolkitUtils.VSPackage/Model/SchemaProvider для проекта http://code.google.com/p/nemerleonrails/. Буду очень благодарен
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 10.04.10 03:14
Оценка: 12 (1)
Здравствуйте, Ziaw, Вы писали:

Z>Здравствуйте, koandrew


Z>Андрей, разрешите пожалуйста воспользоваться кодом http://code.google.com/p/bltutilsvspackage/source/browse/#svn/trunk/BLToolkitUtils.VSPackage/Model/SchemaProvider для проекта http://code.google.com/p/nemerleonrails/. Буду очень благодарен


Да ради бога — лизенция на код MIT, то есть, говоря по-русски, "делайте с ним что хотите" Если вставите мой копирайт, буду благодарен, нет — так нет
Только должен предупредить, что этот код будет расширен (добавится поддержка Foreign Key'ев и некоторые другие вещи) для удовлетворения нужд моего расширения, также со временем будет добавлена поддержка отличных от MSSQL СУРБД. Если вам это не надо — тогда просто копируйте нужный вам код, иначе возможно имеет смысл сделать ссылку (как я сделал с bltoolkit'ом)...
[КУ] оккупировала армия.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 16.04.10 21:03
Оценка: 8 (1)
Сразу все запланированные фичи не осилил ввиду недостатка времени , посему решил выложить промежуточный релиз. Забирать тут: http://code.google.com/p/bltutilsvspackage/downloads/list ревизия 37.

Changelog:

Примечание по поводу ассоциаций:
Самостоятельно не осилил продумать все детали этой фичи, посему взываю к Vox populi В частности, интересует следующее:
1. Как различить отношения "один-к-одному" и "один-ко-многим"? Это необходимо для выбора между генерацией свойства типа "список элементов типа целевой таблицы" и свойством типа "целевая таблица".
2. Как решить вопрос о параметре CanBeNull?
3. По каким правилам генерировать имя этого свойства? Сейчас я родил некую эмпирику, на которую можно посмотреть тут: http://code.google.com/p/bltutilsvspackage/source/browse/trunk/BLToolkitUtils.VSPackage/CodeGeneration/TablesCodeGenerator.cs#138 , метод GenerateFKPropertyName. Просьба высказать своё мнение по поводу того, как это сделать правильнее

Ну и, как всегда, о багах просьба писать сюда или прямо в трекер, а лучше и туда, и сюда одновременно
[КУ] оккупировала армия.
Re: [ANN] Надстройка к студии для генерации классов к Linq2B
От: Flem1234  
Дата: 21.04.10 12:13
Оценка:
Здравствуйте, koandrew, Вы писали:

Можно ли добавить CodeDom.Compiler.GeneratedCode(тут название и версия)], а то у меня FxCop ругается? Спс.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 12:31
Оценка:
Здравствуйте, Flem1234, Вы писали:

F>Можно ли добавить CodeDom.Compiler.GeneratedCode(тут название и версия)], а то у меня FxCop ругается? Спс.


А на что именно его нужно вешать?
[КУ] оккупировала армия.
Re[3]: [ANN] Надстройка к студии для генерации классов к Lin
От: Flem1234  
Дата: 21.04.10 14:39
Оценка:
Здравствуйте, koandrew, Вы писали:

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


F>>Можно ли добавить CodeDom.Compiler.GeneratedCode(тут название и версия)], а то у меня FxCop ругается? Спс.


K>А на что именно его нужно вешать?

На класс и на члены, но на партиал классы его не следует использовать, так что для них только на члены.
Вот тут немного про это написано.
Re[4]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 15:19
Оценка: 3 (1)
Здравствуйте, Flem1234, Вы писали:

F>На класс и на члены, но на партиал классы его не следует использовать, так что для них только на члены.

F>Вот тут немного про это написано.

Сделал. Забирайте 38ю ревизию. Посмотрите и проверьте, всё ли так сделано — у меня FxCop'а под рукой нет...
[КУ] оккупировала армия.
Re[5]: [ANN] Надстройка к студии для генерации классов к Lin
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.04.10 19:15
Оценка:
Здравствуйте, koandrew, Вы писали:

K>Сделал. Забирайте 38ю ревизию. Посмотрите и проверьте, всё ли так сделано — у меня FxCop'а под рукой нет...


Интересно, что у тебя за студия такая, в которой FxCop отсутствует?
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
Re[6]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 19:34
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Интересно, что у тебя за студия такая, в которой FxCop отсутствует?


"Вот такая хреновая студия" почти ©
VS 2008 Professional SP1.
[КУ] оккупировала армия.
Re[7]: [ANN] Надстройка к студии для генерации классов к Lin
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.04.10 19:43
Оценка:
Здравствуйте, koandrew, Вы писали:

K>"Вот такая хреновая студия" почти ©

K>VS 2008 Professional SP1.

В ней FxCop есть
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
Re[8]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 20:34
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>В ней FxCop есть


А где именно он есть и как до него добраться?
[КУ] оккупировала армия.
Re[2]: [ANN] Надстройка к студии для генерации классов к Lin
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 21.04.10 20:55
Оценка:
Здравствуйте, Flem1234, Вы писали:

F>Можно ли добавить CodeDom.Compiler.GeneratedCode(тут название и версия)], а то у меня FxCop ругается? Спс.


Нашёл несколько мест, где атрибут не применялся (хотя стоило бы) — поправил в ревизии 39.
[КУ] оккупировала армия.
Re[9]: [ANN] Надстройка к студии для генерации классов к Lin
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 21.04.10 21:10
Оценка:
Здравствуйте, koandrew, Вы писали:

K>А где именно он есть и как до него добраться?


Свойства проекта, закладка Code Analysis
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
Re[10]: [ANN] Надстройка к студии для генерации классов к Li
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 23.04.10 18:11
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Свойства проекта, закладка Code Analysis


У меня нет такой закладки...
[КУ] оккупировала армия.
Re[11]: [ANN] Надстройка к студии для генерации классов к Li
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 23.04.10 18:15
Оценка:
Здравствуйте, koandrew, Вы писали:

K>У меня нет такой закладки...


При инсталляции надо поставить галочку напротив пункта, который называется что то вроде static code analysis.
... << RSDN@Home 1.2.0 alpha 4 rev. 1471 on Windows 7 6.1.7600.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.