0
我想第一次使用AutoMapper並遇到一些問題。 我的代碼在下面,我得到下面的錯誤。也許有人可以展示如何映射模型列表?AutoMapper映射模型列表
cannot convert from 'System.Linq.IQueryable<AnonymousType#1>' to 'Entity.Product' C:\Users\Administrator\Projects\PC\trunk\PC\Controllers\AdminController.cs 37 100 PC
public class ProductViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public int UsersCount { get; set; }
}
var products = _repository.GetProducts(true).Select(p=> new
{
p.Id,
p.Name,
UsersCount = 0
});
Mapper.CreateMap<Product, ProductViewModel>();
ViewData["Products"] = Mapper.Map<IEnumerable<Product>, IEnumerable<ProductViewModel>>(products); //Error appears on products object
//Product domain model(linq2sql generated model)
public partial class Product : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private int _Id;
private bool _Active;
private System.Nullable<int> _Sort;
private System.Nullable<int> _Category;
private string _Name;
private int _ProductTypeId;
private decimal _Price;
private System.Nullable<int> _Months;
private System.Nullable<int> _Credits;
private string _Features;
private string _BlockReason;
private string _BuyUrl1;
private string _BuyUrl2;
private bool _UsersManager;
}
我需要創建計算字段的UsersCount字段。在上面的例子中,我只是分配UsersCount = 0,但在真實應用程序中,我需要計算用戶並將其分配給UsersCount屬性。也許我的設計錯了?如何改變它? – Tomas 2012-04-02 13:07:10
我不知道你的設計是什麼,所以我可以告訴你它是否有錯。這個字段是如何計算的?您的域模型中的哪些信息取決於它?你的'Product'域模型是怎樣的? – 2012-04-02 13:08:31
我的數據庫看起來像產品 - >用戶。當我在GetProducts方法中使用linq to sql查詢產品時,我得到產品列表。之後,我需要計算分配給指定產品的用戶數量。所以我添加新的字段UsersCount,我將linq添加到sql查詢到這個字段來執行用戶計數。 – Tomas 2012-04-02 13:11:13