我有这个查询:
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"))
有没有一种方法可以获取“estate”的 SQL 别名,例如在 SQL 字符串中写入 {estate}?{房地产} 不起作用。现在我最终在 SQL 字符串中对别名进行了硬编码,但这似乎不太可靠。
如果我正确理解文档,这应该是可能的。我正在使用 NH2.0.1。
/阿斯格