我使用代码方法映射来定义实体映射。现在,我想在大约200个映射类上配置相同的过滤器。是否有任何方法可以在运行时动态添加过滤器映射?
我的课程映射看起来与下面的映射相似。
public class EntityMap : ClassMapping<Entity>
{
public EntityMap()
{
Table("Entity");
Filter("filterName", m => m.Condition("FilteredField = filterParamName"));
// remaining mapping
}
}
我不想在所有映射类中粘贴以下过滤器映射,而是想在运行时映射过滤器。
Filter("filterName", m => m.Condition("FilteredField = :filterParamName"));
ModelMapper
(应在代码中的某个地方使用以'编译'所有映射并将其提供给Configuration
(类包含许多后/事件事件的许多事件,以动态修改映射。AfterMapClass
或BeforeMapClass
似乎应该为您工作。类似:
var mapper = new ModelMapper();
mapper.AfterMapClass +=
(inspector, type, customizer) =>
{
customizer.Filter("filterName", m => m.Condition("FilteredField = :filterParamName"));
};