嗨我看了,只看到了数组到list \ collection的例子,但没有看到相反的方法。
我有一个属性AccIndex
的集合,我想映射到
具有名为AccIndex
的属性的数组。
我尝试了以下内容:
Mapper.CreateMap<AccountCollection, AcctArray[]>().
ForMember(d=> d.AccIndex,
o=>MapFrom(s => s.AcctList.Select(c => c.AccIndex).ToArray()));
这给了我空,而toArray
我觉得它只会让一切变得更慢(toArray而不是再次分解)。
两者之间是否有简单的映射方式?唯一的区别是,一个是集合而另一个是阵列,但不知怎的,我在谷歌上找不到任何东西。
我试过的一些东西总是带来许多空值:
Mapper.CreateMap<AccountCollection,
AcctArray>();
Mapper.Map(AcctIndexesList, newIndexesArray);
Mapper.CreateMap<AccountCollection,
AcctArray[]>();
Mapper.Map(AcctIndexesList, newIndexesArray2);
我被要求展示集合和数组的外观:
public class AccountCollection: IList, ICollection, IList<AcctIndexes>,
ICollection<AcctIndexes>, IEnumerable<AcctIndexes>, IEnumerable {
public AcctIndexesCollection();
public virtual int Count { get; }
public int Rows { get; set; }
public virtual AcctIndexes this[int index] { get; set; }
public virtual int Add(AcctIndexes value);
...
}
public class AcctIndexes : IFormattable
{
public bool AccIndexSpecified;
public AcctIndexes();
public int AccIndex { get; set; }
}
其中一系列:
public partial class AcctArray {
private int accIndexField;
public int AccIndex
{
get {
return this.accIndexField;
}
set {
this.accIndexField = value;
}
}
}
由于
答案 0 :(得分:0)
好的我解决了我的问题。 我的问题是我没有正确使用映射器。 在“CreateMapper”上,U只需要放置核心项,而在“Mapper.Map”中,你只需要放置它们的泛型集合。 就我而言:
Mapper.CreateMap<AcctIndexes, AcctIndexes>();
Mapper.Map<ICollection<AcctIndexes>, AcctIndexes[]>();