Ich implementiere derzeit ein WebApi. Ich muss im Grunde alle Produkte aus der Datenbank befüllen und die EntityFramework-Datenbank First Approach verwenden. Ich muss meine Geschäftsobjekte und Datenobjekte in der Provider-Klasse automatisieren. Allerdings tut so, bekomme ich folgende FehlerAutomapper Fehler- Fehlende Typ Map-Konfiguration oder nicht unterstützte Zuordnung
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"}
Hier ist meine Datenobjekts
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; }
}
}
Hier ist meine Buisness Objekt
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; }
}
}
Hier ist meine Repository-Klasse, die Linq verwendet das holen Daten
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();
}
}
}
Hier ist mein Provider-Klasse, wo ich die 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;
}
}
Kann jemand sagen, umgesetzt haben, was das Problem sein?
Haben Sie Ihre Mappings überall definiert - über 'CreateMap'? – PatrickSteele
Nein. Ich habe nicht. Hast du auch? Können Sie mich wissen lassen, wo und wie es geht? – Tom
Siehe: https://github.com/AutoMapper/AutoMapper/wiki/Projection – PatrickSteele