소스에서 Fluent를 빌드하면 이제 필터가 지원됩니다. , 클래스에 대한 귀하의 ClassMap에서
using FluentNHibernate.Mapping;
namespace PonyApp.FluentFilters
{
public class PonyConditionFilter : FilterDefinition
{
public PonyConditionFilter()
{
WithName("PonyConditionFilter")
.AddParameter("condition",NHibernate.NHibernateUtil.String);
}
}
}
으로 applyFilter의 방법을 사용하십시오 :
먼저 FluentNHibernate.Mapping.FilterDefinition
에서 상속하는 클래스를 만들 :이처럼 사용할
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");
}
}
}
그런 다음에 필터를 추가하려면 유창한 설정 :
Fluently.Configure()
.Mappings(m => m.FluentMappings.Add(typeof(PonyConditionFilter)))
//blah blah bunches of other important stuff left out
.BuildSessionFactory();
그리고 바닐라와 마찬가지로 꺼짐 NHibernate :
session.EnableFilter("PonyConditionFilter").SetParameter("condition","Wonderful");
나중에 대답 할 때 지원되지 않는 기능이 지원 되었기 때문에 Downvoted? 그것은 가혹합니다. –
downvote가 가혹하다는 것에 동의하지만 프레임 워크의 현재 상태를 기록하기 위해 답을 업데이트 할 수도 있습니다. –