【发布时间】:2017-05-01 21:05:21
【问题描述】:
我有以下代码:
我的课程(与此错误相关)
SizeEntity.cs
namespace DataObjects.EntityFramework
{
public class SizeEntity
{
public int Id { get; set; }
public string SizeName { get; set; }
}
}
Size.cs(关于业务对象类库)
namespace BusinessObjects
{
// Product business object
// ** Enterprise Design Pattern: Domain Model, Identity Field, Foreign key mapping
public class Size : BusinessObject
{
// ** Enterprise Design Pattern: Identity field pattern
public Size()
{
// establish business rules
AddRule(new ValidateRequired("SizeName"));
AddRule(new ValidateLength("SizeName", 1, 3));
}
public int Id { get; set; }
public string SizeName { get; set; }
}
}
SizeDao.cs
public class SizeDao : ISizeDao
{
/// <summary>
/// Constructor to initialize AutoMapper
/// </summary>
static SizeDao()
{
Mapper.Initialize(cfg => cfg.CreateMap<SizeEntity, Size>());
Mapper.Initialize(cfg => cfg.CreateMap<List<SizeEntity>, List<Size>>());
}
/// <summary>
/// Inserts size into database
/// </summary>
/// <param name="size"></param>
public void InsertSize(Size size)
{
using (var context = new ExamContext())
{
var entity = Mapper.Map<Size, SizeEntity>(size);
context.Sizes.Add(entity);
context.SaveChanges();
// update business object with new id
size.Id = entity.Id;
}
}
/// <summary>
/// Gets all size from database
/// </summary>
/// <returns>Returns a list of Sizes</returns>
public List<Size> GetSizes()
{
using (var context = new ExamContext())
{
var sizes = context.Sizes.ToList();
return Mapper.Map<List<SizeEntity>, List<Size>>(sizes);
}
}
}
我在这段代码的最后一行遇到映射错误。
return Mapper.Map, List>(大小);
我在这里错过了什么?
错误信息在标题中: AutoMapperMappingException:缺少类型映射配置或不支持的映射,类型映射列表
更新 1:
我删除了该行建议,但仍然得到: 缺少类型映射配置或不支持的映射。
Mapping types:
SizeEntity -> Size
DataObjects.EntityFramework.SizeEntity -> BusinessObjects.Size
【问题讨论】:
-
请提供错误信息
-
错误在标题中,DTO 和实体不在同一个程序集中:
-
不,错误不在标题中,您省略了类型名称。
-
请参阅更新 1 以了解整个错误消息
-
对一个完全有效的问题感到羞耻
标签: c# .net asp.net-mvc entity-framework automapper