У меня проблема с созданием проекции для моего объекта nhibernate detachedcriteria.
У меня есть класс Spa, который связан с таблицей Address.
В адресе есть поле «Город», которое представляет собой строку.
public class Spa : IAggregateRoot
{
[BelongsTo("AddressID", Cascade = CascadeEnum.All)]
public Address Address { get; set; }
}
Моя конечная цель - получить четкий список названий городов.
Если бы я мог получить все курорты с разными городами, я был бы тоже счастлив.
Все мои попытки были напрасны, и я не нашел никаких полезных сообщений.
Пока я пробовал:
DetachedCriteria query = DetachedCriteria.For<Spa>()
.CreateAlias("Address", "A")
query.SetProjection(
Projections.Distinct(Projections.ProjectionList()
.Add(Projections.Alias(Projections.Property("Address"), "A"))));
var Spas = ActiveRecordMediator<Spa>.FindAll(query);
Я знаю, что это неверно, просто пытаюсь найти с чего начать.
Любая помощь будет оценена. Также будут оценены любые простые учебные пособия по проекциям, кажется, что я не могу найти что-то прямолинейное.
Я тоже пробовал, но получил ошибку приведения, глядя на нее:
DetachedCriteria query = DetachedCriteria.For<Spa>()
.CreateAlias("Address", "A")
.SetProjection(Projections.Distinct(Projections.Property("A.City")));