Кросс пост с .net wisp
Доменная модель
В посте о связях в NHibernate поступило пожелание увидеть пост о древовидных структурах и как с ними работать в NHiberante. Как правило такие структуры мне приходилось строить для категорий, на них и будем смотреть. Начнем с чистой доменной модели:
public class Category
{
private ISet<Category>; childCategories;
[...]
Note: Cross posted from .net wisp.
Permalink
Для меня данный вопрос остаётся открытым вот уже год. В обещанном примере приложения есть следующая иерархия:
Схема базы будет сгенерирована автоматически, если убрать комментарий со строки в Global.asax (ExposeConfiguration(BuildSchema)).
Код, который пытается изменить тип контента может выглядеть так:
var photo = Global.CurrentSession.Get<Photo>(2);
var video = new Video();
video.FromPhoto(photo);
Global.CurrentSession.Evict(photo);
Global.CurrentSession.SaveOrUpdateCopy(video);
Где метод FromPhoto выглядит так:
public virtual void FromPhoto(Photo [...]
Линки на остальные статьи
Базовые понятия
Варианты маппингов
Связи
Запросы при помощи Criteria
Automapping
Основным средством построения запросов в NHibernate является Criteria api (до тех пор, пока не реализуют полноценный Linq to Hibernate). Поэтому я опишу некоторые примеры запросов, которые можно строить с их использованием. Для этого воспользуемся моделью, описанной тут.
Ранее я уже упоминал простой [...]
Линки на остальные статьи
Базовые понятия
Варианты маппингов
Связи
Запросы при помощи Criteria
Automapping
Изначально этот пост задумывался как описания каждого типа связи. Я собирался описать как мапить many-to-many, many-to-one, one-to-many и т.д. Но начав писать, я понял что такой информации и так достаточно в сети. Поэтому пост больше получился про то, как построить доменную [...]
22
NHibernate для начинающих. Часть 2. Варианты маппингов
0 Comments | Posted by sly in Новости
Линки на остальные статьи
Базовые понятия
Варианты маппингов
Связи
Запросы при помощи Criteria
Automapping
Любое бизнес приложение содержит набор некоторых объектов, комбинация который представляет собой доменную модель приложения. Например для электронного магазина такими доменными объектами могут быть: Product, Category, Order и т.д.
Для NHibernate необходимы знания о вашей доменной модели для сохранения и извлечения соответствующих объектов. [...]
Линки на остальные статьи
Базовые понятия
Варианты маппингов
Связи
Запросы при помощи Criteria
Automapping
В этой статье будет описано как сделать простое веб приложение, использующее NHibernate для работы с базой данных.
Начнем с того что где можно скачать и почитать.
· http://nhforge.org/ – сайт NHibnerate. Там можно найти википедии по многим вещам связанным NHibernate, википедию, [...]
Note: Cross posted from .net wisp.
Permalink
NHibernate поддерживает три способа имитации наследования в реляционных базах данных. Table per class hierarchy, table per subclass, table per concrete class. О каждой из этих стратегий можно найти множество примеров как их реализовывать. Я же хотел бы поделиться своим опытом о том, когда же стоит применять наследование.
Вплоть до моего последнего [...]
Note: Cross posted from .net wisp.
Permalink
В предыдущем посте я описал как заставить запускаться Ваш код в установочных проектах от имени текущего пользователя. Делать изменения в MSI файлах приходится вручную, что явно не удобно.
Для автоматизации внесения изменений я использовал две утилиты. MsiDiff и MakeMsi.
MsiDiff позволяет сравнивать два msi файла, и генерирует для вас скрипт изменения. Этот [...]
Кросс пст из .net wisp.
Данный пост покажет не только само решение проблемы, но и путь поиска этого решения. Возможно именно этот путь окажется более полезным, нежели само решение.
Для выполнения кода разработчика в Setup projects используются Custom Actions. Особенностью является то, что процесс установки запускается от имени пользователя SYSTEM. И поэтому Ваш код так же выполняется [...]
По CR практически нет никакой информации на русском языке. Единственная книга на русском, найденная мной (Дэвид Мак-Амис,
Профессиональная работа с Crystal Reports для Visual Studio .NET), повествует лишь о том, как создавать стандартные отчеты и отображать их с помощью WinForms или на ASP.NET странице. Плюс ко всему прочему, в ней рассматривается устаревшая версия CR (8ая, [...]
