我正在尝试为automapper创建自定义解析器,该解析器需要访问我的数据存储库以检索已登录用户的帐户。
以下是我的代码...
public class FollowingResolver : ValueResolver<Audio, bool>
{
readonly IIdentityTasks identityTasks;
public FollowingResolver(IIdentityTasks identitTasks)
{
this.identityTasks = identitTasks;
}
protected override bool ResolveCore(Audio source)
{
var user = identityTasks.GetCurrentIdentity();
if (user != null)
return user.IsFollowingUser(source.DJAccount);
return false;
}
}
然而,我遇到了这个错误:
FollowingResolver' does not have a default constructor
我尝试添加了一个默认构造函数,但我的仓库从未初始化。
这是我的autoampper初始化代码:
public static void Configure(IWindsorContainer container)
{
Mapper.Reset();
Mapper.Initialize(x =>
{
x.AddProfile<AccountProfile>();
x.AddProfile<AudioProfile>();
x.ConstructServicesUsing(container.Resolve);
});
Mapper.AssertConfigurationIsValid();
}
我是否遗漏了什么?像这样做是否可能,还是我在这里错过了什么重要的细节?