Automapper 错误 - 缺少类型映射配置或不支持的映射
Automapper error- Missing type map configuration or unsupported mapping
我目前正在实施 WebApi。我基本上需要填充数据库中的所有产品并使用 EntityFramework 数据库第一种方法。我需要在提供程序 class 中自动映射我的 Buisness 对象和数据对象。但是这样做,我得到以下错误
Missing type map configuration or unsupported mapping.\r\n\r\nMapping types:\r\nProducts -> Products\r\nProductManagement.DataOjects.Entities.Products ->
ProductManagement.Models.Products\r\n\r\nDestination path:\r\nIEnumerable`1[0]\r\n\r\nSource value:\r\nProductManagement.DataOjects.Entities.Products"}
这是我的数据对象
namespace ProductManagement.DataOjects.Entities
{
public class Products
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public DateTime ReleaseDate { get; set; }
}
}
这是我的 Buisness 对象
namespace ProductManagement.Models
{
public class Products
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public DateTime ReleaseDate { get; set; }
}
}
这是我的存储库 class,它使用 linq 来获取数据
public class ProductRepository : IProductRepository
{
public IEnumerable<ProductManagement.DataOjects.Entities.Products> GetProductData()
{
using (var dbProductEntities = new ProductManagement.DataOjects.Ef.RansangEntities())
{
return (from a in dbProductEntities.vw_Products
select new ProductManagement.DataOjects.Entities.Products
{
Id = a.Id,
Name = a.Name,
Code = a.Code,
ReleaseDate = (DateTime)a.ReleaseDate
}).ToList().AsEnumerable();
}
}
}
这是我的供应商class,我在其中实施了 Automapper
public class ProductProvider : IProductProvider
{
private readonly IProductRepository _productRepository;
public ProductProvider(IProductRepository productRepository)
{
_productRepository = productRepository ;
}
public IEnumerable<Products> GetProductData()
{
var productData = _productRepository.GetProductData();
var productViewData = AutoMapper.Mapper.Map<IEnumerable<ProductManagement.DataOjects.Entities.Products>, IEnumerable<ProductManagement.Models.Products>>(productData);
return productViewData;
}
}
有人能告诉我问题出在哪里吗?
你需要像你的模型一样写它class:
public class 产品:IMapFrom < YourBusnessEntityToMap >
现在可以正常使用了。 :)
我目前正在实施 WebApi。我基本上需要填充数据库中的所有产品并使用 EntityFramework 数据库第一种方法。我需要在提供程序 class 中自动映射我的 Buisness 对象和数据对象。但是这样做,我得到以下错误
Missing type map configuration or unsupported mapping.\r\n\r\nMapping types:\r\nProducts -> Products\r\nProductManagement.DataOjects.Entities.Products ->
ProductManagement.Models.Products\r\n\r\nDestination path:\r\nIEnumerable`1[0]\r\n\r\nSource value:\r\nProductManagement.DataOjects.Entities.Products"}
这是我的数据对象
namespace ProductManagement.DataOjects.Entities
{
public class Products
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public DateTime ReleaseDate { get; set; }
}
}
这是我的 Buisness 对象
namespace ProductManagement.Models
{
public class Products
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public DateTime ReleaseDate { get; set; }
}
}
这是我的存储库 class,它使用 linq 来获取数据
public class ProductRepository : IProductRepository
{
public IEnumerable<ProductManagement.DataOjects.Entities.Products> GetProductData()
{
using (var dbProductEntities = new ProductManagement.DataOjects.Ef.RansangEntities())
{
return (from a in dbProductEntities.vw_Products
select new ProductManagement.DataOjects.Entities.Products
{
Id = a.Id,
Name = a.Name,
Code = a.Code,
ReleaseDate = (DateTime)a.ReleaseDate
}).ToList().AsEnumerable();
}
}
}
这是我的供应商class,我在其中实施了 Automapper
public class ProductProvider : IProductProvider
{
private readonly IProductRepository _productRepository;
public ProductProvider(IProductRepository productRepository)
{
_productRepository = productRepository ;
}
public IEnumerable<Products> GetProductData()
{
var productData = _productRepository.GetProductData();
var productViewData = AutoMapper.Mapper.Map<IEnumerable<ProductManagement.DataOjects.Entities.Products>, IEnumerable<ProductManagement.Models.Products>>(productData);
return productViewData;
}
}
有人能告诉我问题出在哪里吗?
你需要像你的模型一样写它class:
public class 产品:IMapFrom < YourBusnessEntityToMap >
现在可以正常使用了。 :)