Web API包含命令给出了意外结果

时间:2019-02-27 13:56:22

标签: asp.net-core-webapi

我正在使用ef core 3.0创建Web API

当我编写如下所示的代码时,它会起作用:

// GET api/values
    [HttpGet]
    public async Task<ActionResult<List<TblProjeler>>> Get()
    {
        var result =  _context.TblProjeler.Include(x => x.TblAltProjeler)
        .Select(t => new TblProjeler
        {
            Id = t.Id,
            Sifarisci = t.Sifarisci,
            FizikiHuquqi = t.FizikiHuquqi,
            ProjeAdi = t.ProjeAdi,
            Tarix = t.Tarix,
            Deadline = t.Deadline,
            Satisci = t.Satisci,
            TblAltProjeler = t.TblAltProjeler
        })
        ;
        return await result.ToListAsync();
    }

但是当我删除“ .select new”部分时,它在chrome中给了我未封闭的json,并且出现了“ SyntaxError:JSON.parse:JSON数据的第1行第318行的对象中的属性值之后的数据结尾” mozilla:

// GET api/values
    [HttpGet]
    public async Task<ActionResult<List<TblProjeler>>> Get()
    {
        var result =  _context.TblProjeler.Include(x => x.TblAltProjeler)           
        ;
        return await result.ToListAsync();
    }

我的课程如下:

 public class TblProjeler
{      
    public int Id { get; set; }
    public int? Sifarisci { get; set; }
    public string FizikiHuquqi { get; set; }
    public string ProjeAdi { get; set; }
    public DateTime? Tarix { get; set; }
    public DateTime? Deadline { get; set; }
    public int? Satisci { get; set; }

    public List<TblAltProjeler> TblAltProjeler { get; set; }
}

 public class TblAltProjeler
{
    public int Id { get; set; }
    public int ProjeId { get; set; }
    public string IsinAdi { get; set; }
    public int? VahidId { get; set; }
    public decimal? Qiymet { get; set; }
    public decimal? Miqdar { get; set; }
    public decimal? Edv { get; set; }
    public DateTime? Tarix { get; set; }
    public DateTime? Deadline { get; set; }

    public TblProjeler Proje { get; set; }
}

顺便说一句,当我用F5调试时,我可以看到在两种情况下它都返回了全部数据。

0 个答案:

没有答案