Kaynaktan Fluent oluşturursanız, artık filtreler için destek var. , Sınıfında için ClassMap olarak
using FluentNHibernate.Mapping;
namespace PonyApp.FluentFilters
{
public class PonyConditionFilter : FilterDefinition
{
public PonyConditionFilter()
{
WithName("PonyConditionFilter")
.AddParameter("condition",NHibernate.NHibernateUtil.String);
}
}
}
SüzgeciUygula yöntemi kullanın:
İlk FluentNHibernate.Mapping.FilterDefinition
devralmasını bir sınıf oluşturmak: Bu gibi onları kullanmak
namespace PonyApp.Entities.Mappings
{
public class PonyMap : ClassMap<Pony>
{
public PonyMap()
{
Id(x => x.Id);
Map(x => x.PonyName);
Map(x => x.PonyColor);
Map(x => x.PonyCondition);
ApplyFilter<PonyConditionFilter>("PonyCondition = :condition");
}
}
}
Sonra filtreyi Apple Şifre akıcı yapılandırması:
Fluently.Configure()
.Mappings(m => m.FluentMappings.Add(typeof(PonyConditionFilter)))
//blah blah bunches of other important stuff left out
.BuildSessionFactory();
Sonra açabilirsiniz. vanilya NHibernate ile yaptığınız gibi kapalı:
session.EnableFilter("PonyConditionFilter").SetParameter("condition","Wonderful");
Yanıt zamanında desteklenmeyen bir özellik daha sonra desteklenmedi mi? Bu acımasız. –
Bir reddetmenin sert olduğunu kabul ediyorum, ancak hala çerçevenin mevcut durumunu not etmek için cevabınızı güncellemek isteyebilirsiniz. –