Не то, чтобы я знаю о, если Вы не выбираете от INFORMATION_SCHEMA
, как другие упомянули.
Однако эти SHOW
команда довольно гибка, Например:
SHOW tables like '%s%'
Связанные объекты должны отображаться как объекты - например, Категория
, а не int CategoryId
.
Когда вы создаете новый Сообщение
, если у вас нет фактического экземпляра Category
(а почему бы и нет? Если вы выбираете категории из списка, который вы уже загрузили), но у вас есть только его идентификатор, который вы можете использовать метод Load () для получения постоянного экземпляра Category для данного идентификатора без фактического обращения к базе данных:
post.Category = (Category) sesssion.Load(typeof(Category), categoryId);
Вы также можете использовать универсальную версию:
post.Category = session.Load<Category>(categoryId);
В NHibernate вы должны использовать ссылочное свойство.
При использовании плавного сопоставления это выглядит примерно так:
mapping.References(x => x.Category, "CategoryId").PropertyRef(x=>x.Id).Cascade.All();
в XML это примерно
<many-to-one name="Category" column="category_id" class="YourNamespace.Category" cascade="all" property-ref="Id" />
Вы можете использовать not-found для выбора поведения когда нет связанной категории.
По сути,вам нужна семантика объекта категории, а не идентификатор, поэтому вы просто указываете NHibernate, как они связаны.