У меня есть этот запрос:Псевдоним присоединяемой таблицы в SQLProjection
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 для «имущества», как писать {недвижимости} в строке SQL? {property} не работает. Теперь я закончил hardcoding псевдоним в строке SQL, но это не кажется очень твердым.
Если я правильно понимаю документы, это должно быть возможно. Я использую NH2.0.1.
/Asger
Привет, Маартен, большое спасибо за ваш ответ. GetColumnAlias - именно то, что я ищу ... но, как вы говорите, в NH не похоже. Но что касается вашего предложения, вы очень правы, я схватил часть запроса из какой-либо другой части моего кода, где я собираюсь использовать предложение HAVING для прогнозируемого значения, так что это имеет смысл - но в этом случай это не так. Спасибо что подметил это! – asgerhallas