我正在尝试移动我的Automapper实体 - >从我的一个控制器到我的MVC应用程序的OnApplicationStarted()
方法的ViewModel映射定义。当我复制它时,我的Entity的EntityCollection属性失去了对其ToArray()
扩展方法的访问权限。当我尝试编译时,我收到一个错误,告诉我没有与其签名匹配的方法或扩展方法。
代码:
protected override void OnApplicationStarted()
{
// some Ninject setup code
Mapper.CreateMap<Game, AdminGameViewModel>()
.BeforeMap((s, d) =>
{
int platCount = s.Platforms.Count;
var plats = s.Platforms.ToArray(); // <-- line in question
d.PlatformIDs = new int[platCount];
for (int i = 0; i < platCount; ++i)
{
d.PlatformIDs[i] = plats[i].ID;
}
})
.ForMember(dest => dest.Pros, opt => opt.MapFrom(src => src.Pros.Split(new char[] { '|' })))
.ForMember(dest => dest.Cons, opt => opt.MapFrom(src => src.Cons.Split(new char[] { '|' })))
.ForMember(dest => dest.PlatformIDs, opt => opt.Ignore());
}
同样,这段代码是直接从我的控制器复制和粘贴的,在那里编译并运行正常。我已经尝试过转换为IEnumerable,但是这也不能让我访问该方法。
答案 0 :(得分:1)
使用。
添加以下内容using System.Data.Linq;