Niestandardowa funkcja SQL dla dialektu NHibernate

Chcę móc wywołać niestandardową funkcję o nazwie „recent_date” jako część mojego HQL. Lubię to:[Date] >= recent_date()

Stworzyłem nowy dialekt dziedziczący z MsSql2000Dialect i określiłem dialekt dla mojej konfiguracji.

public class NordicMsSql2000Dialect : MsSql2000Dialect
{
    public NordicMsSql2000Dialect()
    {
        RegisterFunction(
            "recent_date",
            new SQLFunctionTemplate(
                NHibernateUtil.Date,
                "dateadd(day, -15, getdate())"
                )
            );
    }
}

var configuration = Fluently.Configure()
.Database(
    MsSqlConfiguration.MsSql2000
    .ConnectionString(c => .... )
    .Cache(c => c.UseQueryCache().ProviderClass<HashtableCacheProvider>())
    .Dialect<NordicMsSql2000Dialect>()
)
.Mappings(m => ....)
.BuildConfiguration();

Dzwoniącrecent_date() Otrzymuję następujący błąd:System.Data.SqlClient.SqlException: „recent_date” nie jest rozpoznawaną nazwą funkcji

Używam go w instrukcji where dla mapowania HasMany, jak poniżej.

HasMany(x => x.RecentValues)
    .Access.CamelCaseField(Prefix.Underscore)
    .Cascade.SaveUpdate()
    .Where("Date >= recent_date()");

Czego mi tu brakuje?

questionAnswers(2)

yourAnswerToTheQuestion