无法获取get:api/xyz以使用实体框架
本文关键字:实体 框架 xyz 获取 get api | 更新日期: 2023-09-27 18:20:34
我有一个表a,其中有另一个表b的外键。EF模型是从数据库中生成的。我想要的只是表a中的所有数据。
但是自动生成的方法
// GET: api/Massnahmentyp
public IQueryable<MASSNAHMENTYP> GetMASSNAHMENTYPs()
{
return db.MASSNAHMENTYPs;
}
不返回任何内容。然而,方法
// GET: api/Massnahmentyp/5
[ResponseType(typeof(MASSNAHMENTYP))]
public IHttpActionResult GetMASSNAHMENTYP(decimal id)
{
MASSNAHMENTYP mASSNAHMENTYP = db.MASSNAHMENTYPs.Find(id);
if (mASSNAHMENTYP == null)
{
return NotFound();
}
return Ok(mASSNAHMENTYP);
}
工作并返回正确的条目。我做错了什么?
更新好吧,看起来它一直都在起作用,只是因为外键的缘故,反应太大了。是否可以忽略依赖项,这样就不会将数千个条目加入到响应中?表a只有6个条目,我只想要它们。
下面的代码怎么样?
// GET: api/Massnahmentyp
[HttpGet]
public IEnumerable<MASSNAHMENTYP> GetMASSNAHMENTYPs()
{
return db.MASSNAHMENTYPs.ToList();
}
我认为你应该用[HttpGet]
来注释你的方法。
更新:对于问题的新部分:
您可以在DbContext:中禁用延迟加载
public class YourContext : DbContext
{
public YourContext()
{
this.Configuration.LazyLoadingEnabled = false;
}
}