我正在尝试使用Automapper的ProjectTo()
扩展方法,但我遇到了错误:
'ObjectContent`1'类型无法序列化内容类型'application / json的响应主体;字符集= UTF-8' 。
内部例外是:
无法创建“DataContracts.StateContract”类型的空常量值。在此上下文中仅支持实体类型,枚举类型或基元类型。
打电话给我看起来像这样:
public IQueryable<OriginContract> Origins()
{
return contextProvider.Origins.ProjectTo<OriginContract>(automapperConfiguration);
}
我正在使用的课程是这样的:
合同:
public class OriginContract
{
public int OriginId { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string City { get; set; }
public int StateId { get; set; }
public StateContract State { get; set; }
}
public class StateContract
{
public int StateId { get; set; }
public string Abbreviation { get; set; }
public string Name { get; set; }
}
实体具有相同的属性和名称(我从一个实体复制并粘贴到另一个。)如果您愿意,可以see them here。
一个重要的注意事项,如果我从Origin类中取出State
属性,它可以正常工作。所以这个错误与尝试拥有一个包含State类的Origin类有关。
有任何想法如何解决此错误?