Tôi đang cố gắng giới thiệu Automapper vào ứng dụng lần đầu tiên, nhưng tôi vẫn gặp lỗi khi nói rằng tôi có một số đối số không hợp lệ.Bộ sưu tập bản đồ của các đối tượng
mô hình của tôi:
namespace StoreGradesLib.Models
{
public class Store
{
[Key]
public int StoreID { get; set; }
[Required]
[MaxLength(120)]
public string StoreName { get; set; }
[Required]
[MaxLength(20)]
public string StoreNumber { get; set; }
[Required]
[MaxLength(120)]
public string ManagerName { get; set; }
[Required]
public long PhoneNumber { get; set; }
[Required]
public string AddressLine1 { get; set; }
public string AddressLine2 { get; set; }
[Required]
public string Postcode { get; set; }
[Required]
public int WallArea { get; set; }
[Required]
public int FloorArea { get; set; }
[Required]
public int NumWindows { get; set; }
[Required]
public int NumDesks { get; set; }
[Required]
public int NumDoors { get; set; }
[Required]
public int StoreGradeID { get; set; }
[Required]
public bool Active { get; set; }
public virtual StoreGrade StoreGrade { get; set; }
[Timestamp]
public Byte[] Timestamp { get; set; }
}
}
My Xem mẫu:
namespace StoreGradesLib.ViewModels
{
public class StoreVM
{
public int StoreID { get; set; }
public bool Active { get; set; }
public Byte[] Timestamp { get; set; }
[Required(ErrorMessage = "Store Name is required.")]
[Display(Name = "Store Name")]
public string StoreName { get; set; }
[Required(ErrorMessage = "Store Number is required")]
public string StoreNumber { get; set; }
[Required(ErrorMessage = "Store Manager is required.")]
[Display(Name = "Manager Name")]
public string ManagerName { get; set; }
[Required(ErrorMessage = "Contact Number is required.")]
[Display(Name = "Phone Number")]
public int PhoneNumber { get; set; }
[Required(ErrorMessage = "Address Line 1 is required.")]
[Display(Name = "Address Line 1")]
public string AddressLine1 { get; set; }
[Display(Name = "Address Line 2")]
public string AddressLine2 { get; set; }
[Required(ErrorMessage = "Postcode is required.")]
public string Postcode { get; set; }
[Required(ErrorMessage = "Must input wall area.")]
[Display(Name = "Wall Area")]
public int WallArea { get; set; }
[Required(ErrorMessage = "Must input floor area.")]
[Display(Name = "Floor Area")]
public int FloorArea { get; set; }
[Required(ErrorMessage = "Must input number of windows.")]
[Display(Name = "Windows")]
public int NumWindows { get; set; }
[Required(ErrorMessage = "Must input number of desks.")]
[Display(Name = "Desks")]
public int NumDesks { get; set; }
[Required(ErrorMessage = "Must input number of doors.")]
[Display(Name = "Doors")]
public int NumDoors { get; set; }
[Required(ErrorMessage = "Store must have a grade.")]
public StoreGrade StoreGradeID { get; set; }
public string Address
{
get
{
return StoreName + " " + AddressLine1 + " " + AddressLine2 + " " + Postcode;
}
}
}
}
ánh xạ tạo:
CreateMap<Store, StoreVM>();
CreateMap<StoreVM, Store>();
Trong vòng điều khiển của tôi, tôi đang cố gắng để ánh xạ một lựa chọn các cửa hàng để storeVM . Tôi hiện đang nhận được các cửa hàng của tôi như vậy;
var stores = db.Store.Include(s => s.StoreGrade);
stores = from s in db.Store.Where(s => s.Active.Equals(true))
select s;
Tôi muốn để lập bản đồ lựa chọn các cửa hàng để StoreVM, Tôi đã thử những điều sau đây, nhưng tôi nhận được một thông số cảnh báo không hợp lệ,
var VMstores = Mapper.Map<Store, StoreVM>(stores);
Tôi nhận được lỗi rằng phương pháp quá tải tốt nhất đối sánh có một số đối số không hợp lệ.
Có ai có thể chỉ cho tôi đúng hướng không?
Ah wow cảm ơn! Tôi đã cố gắng để bỏ phiếu này lên nhưng nó sẽ không cho tôi, Khi tôi sử dụng stackoverflow hơn tôi sẽ nhớ để trở lại và bỏ phiếu bạn lên! Đã làm phiền tôi trong nửa giờ qua, cảm ơn bạn rất nhiều! – EverythingGeek
@ user1873098 welcome :) Tôi gặp vấn đề tương tự khi bắt đầu sử dụng automapper –
AUTOMAPPER HIZZAA !!! – hanzolo