我有 2 个实体OrganisationMember
和User
AnOrganisationMember
有一个User
类型为 的对象属性User
。
我正在尝试编写一个 NHibernate 查询,它将通过属性执行不区分大小写的操作User.Email
...(用户在各种情况下将电子邮件输入系统)。
我已经看到您可以使用 SQLFunction Projection 将数据库中的所有内容基本上大写并按此排序。但我无法将其应用于子对象。这是我到目前为止所拥有的。
var query = Session.QueryOver<OrganisationMembership>();
query.RootCriteria.SetFetchMode("User", FetchMode.Eager);
var projection = Projections.SqlFunction("UPPER", NHibernateUtil.String, Projections.Property("Email"));
query.OrderBy(projection).Asc();
它一直告诉我它不知道投影中的“电子邮件”是什么。我也尝试将投影更改为
var projection = Projections.SqlFunction("UPPER", NHibernateUtil.String, Projections.Property("User.Email"));
有任何想法吗 ?