我正在使用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调试时,我可以看到在两种情况下它都返回了全部数据。