Automapper的ProjectTo抛出了锯齿错误

时间:2016-12-23 00:34:34

标签: c# .net entity-framework entity-framework-6 automapper

我正在尝试使用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类有关。

有任何想法如何解决此错误?

0 个答案:

没有答案