2009-10-26 36 views
26

Tôi đang cố gắng để ánh xạ một mảng thành một ICollection loại <T>.Mapping bộ sưu tập sử dụng AutoMapper

Về cơ bản tôi muốn để có thể làm:

Mapper.CreateMap<X[], Y>(); 

đâu YCollection<T>

Bất kỳ ý tưởng?

+0

Có gì hoạt động bạn đang nhìn thấy ngay bây giờ? –

+0

Chỉ không thể ánh xạ giữa một mảng với ICollection . Ngoại lệ bản đồ được ném. –

Trả lời

46

Bạn không cần phải thiết lập ánh xạ của mình cho các bộ sưu tập, chỉ các loại phần tử. Vì vậy chỉ:

Mapper.CreateMap<X, Y>(); 
Mapper.Map<X[], Collection<Y>>(objectToMap); 

Xem ở đây để biết thêm: http://automapper.codeplex.com/wikipage?title=Lists%20and%20Arrays&referringTitle=Home

+4

Còn nếu tôi muốn ánh xạ một chuỗi [] thành Y? ví dụ. trong đó mỗi chuỗi trong mảng sẽ ánh xạ tới một thuộc tính khác của Y? –

1

Bây giờ có vẻ như bạn có thể sử dụng:

Mapper.CreateMap<X,Y>(); 
var listOfX = Mapper.Map<List<X>>(someIEnumerableOfY); 
Các vấn đề liên quan