Ich habe ein Problem bei der Erstellung einer Projektion für meine nhibernate detachedcriteria Objekt.
Ich habe eine Klasse Spa, die mit der Tabelle Adresse verknüpft ist.
Adresse hat ein Feld namens Stadt, das eine Zeichenkette ist.
public class Spa : IAggregateRoot
{
[BelongsTo("AddressID", Cascade = CascadeEnum.All)]
public Address Address { get; set; }
}
Mein Ziel ist es, eine eindeutige Liste von Städtenamen zu erhalten.
Wenn ich alle Spas mit unterschiedlichen Städten bekommen könnte, wäre ich auch glücklich.
Alle meine Versuche waren vergeblich, und ich habe keine hilfreichen Beiträge gefunden.
Bis jetzt habe ich es versucht:
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);
Ich weiß, dass das oben Gesagte nicht korrekt ist, ich versuche nur, einen Anfang zu finden.
Für jede Hilfe wären wir dankbar. Auch jede einfache Projektionen Tutorials würde geschätzt werden, kippe scheinen, etwas geradeaus da draußen zu finden.
Ich habe es auch versucht, aber ich habe einen Besetzungsfehler bekommen, den ich überprüfen will:
DetachedCriteria query = DetachedCriteria.For<Spa>()
.CreateAlias("Address", "A")
.SetProjection(Projections.Distinct(Projections.Property("A.City")));