我有一个带有外键的表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个条目,我只想要它们。
答案 0 :(得分:1)
以下代码怎么样?
// GET: api/Massnahmentyp
[HttpGet]
public IEnumerable<MASSNAHMENTYP> GetMASSNAHMENTYPs()
{
return db.MASSNAHMENTYPs.ToList();
}
我认为您应该使用[HttpGet]
注释您的方法。
更新:对于问题的新部分:
您可以在DbContext中禁用延迟加载:
public class YourContext : DbContext
{
public YourContext()
{
this.Configuration.LazyLoadingEnabled = false;
}
}