Итак, краткий обзор BlToolkit'а:
Тулкит состоит из нескольких модулей, каждыи из которых довольно "лёгкая", но, по моему мнению, гибкая и мощная реализация рутинных операций. Включает в себя:
- Аспекты - кеширование и логирование через аттрибуты + еще немного аттрибутов которые мне лень описывать)
- Доступ к данным (linq + DML+ способы с заданием SQL в аттрибутах метода)
- CRUD операции
- Реализацию IEditableObject других интерфейсов из System.ComponentModel
- Валидацию через аттрибуты
- Быстрый маппинг объектов в объекты
- Рефлексия и генерация ML (Emit)
Чего нет:
- Версионности (хотя мысли на форуме проскальзывали)
- В LINQ еще довольно много багов. Хотя ситуация стремительно улучшается и мне кажется, что уровень поддержки уже приблизился к майкрософтскому LINQ2SQL
- Dependency Injection
- Видимо еще чего-то чем я пользуюсь редко или не пользуюсь вообще :)
- Поддержки фреймворков ниже 2.0 SP1, хотя тут я не уверен
Лучше всего билдить проект из SVN.
Вики: http://projects.rsdn.ru/RFD/wiki
Документация в примерах: http://bltoolkit.net/doc/index.htm
При проблемах можно задать вопрос на форуме http://www.rsdn.ru/Forum/MsgList.aspx?group=prj.rfd, в обсуждениях участвует автор тулкита и множество классных программистов. Сюда же можно отправлять отчеты об ошибках. Что приятно, баги правятся быстро, к тому же автор лёгок на подъем, если найдутся хорошие аргументы, то ждать нужной фичи недолго.
Скачать дизайнер можно тут: http://code.google.com/p/bltutilsvspackage/downloads/list (спасибо rsdn пользователю koandrew)
Использовать так:
1. Правый щелчок на c# проекте -> Add New Item... -> BLToolkit Settings File -> Название (это имя будет частью имени контекста — SomethingDbContext) -> OK
2. Дабл-клик на файле — страница настроек. Вводишь имя сервака и имя базы. Из типов креденшелов пока работают тока 2 — clear text и Intergrated.
3. Для (пере)генерации файлов правый клик на проекте -> "Update Database Definition
Напоминаю SVN: http://bl-toolkit.googlecode.com/svn/trunk