У меня есть этот запрос:
criteria = session.CreateCriteria(typeof (Building))
.CreateAlias("Estate", "estate")
.SetProjection(Projections.ProjectionList()
.Add(Property.ForName("Name"), "BuildingName")
.Add(Property.ForName("estate.Name"), "EstateName")
.Add(Projections.SqlProjection(
"(estate1_.BBRMunicipalityNumber + '-' + estate1_.BBREstateNumber + '-' + {alias}.BBRBuildingNumber)" + " as BBRNumber",
new[] { "BBRNumber" },
new[] { NHibernateUtil.String }),
"BBRNumber"))
Есть ли способ получить псевдоним SQL для "estate", например, написать {estate} в строке SQL? {estate} не работает. Теперь я закончил жестким кодированием псевдонима в строке SQL, но это выглядит не очень убедительно.
Если я правильно понимаю документы, это возможно. Я использую NH2.0.1.
/ Asger