Допустим, у вас есть три объекта - Categories
, Sites
и Items
. Таблица Предметов имеет CategoryID
и SiteID
. Если я хочу найти сайты для данной категории, я могу получить это с помощью сопоставления в NHibernate, которое выглядит примерно так:
public CategoryMap()
{
//..
ManyToMany(x => x.Site)
.Table("Items")
.ParentKey("CategoryID")
.ChildKey("SiteID");
}
Это прекрасно работает, если я хочу получить список всех категорий и сайтов, к которым относится категория. Но я также хочу создать категорию под названием «Без рубрики» и перечислить там сайты, которые не принадлежат к категории. Я мог бы сделать это вторым запросом, но мне было интересно, есть ли способ создать «виртуальную» категорию, которая будет частью коллекции Category, или какой-то другой трюк с этим, которого я пропускаю. Я также открыт для того, чтобы мне сказали, что это очень неправильно.