如何:仅从WebAPI2和LINQ

时间:2015-07-07 13:28:38

标签: c# sql-server linq entity-framework asp.net-web-api

我正在使用Entity Framework和WebAPI2。使用EF我创建了一个Model并生成了Model以获取代码。当我在浏览器中调用GetAll方法时,我将获得整个数据结构(与其他实体的关系)。但我想只获得将在视图中显示的选定数据。

以下是GetAll的代码:

/* Entity: QR_Name */
/* propertys: Id, fname, lname, maxAge, groupId */
// GET: api/QR_Name
public IQueryable<QR_Name> GetAllNames()
{
   return db.QR_Names;
}

当我想获得实体的一个对象时,我还有另一个问题。此代码在浏览器中不起作用。我得到了一个

错误讯息:

  

提供的主键值的数量必须与实体中定义的主键值的数量相匹配。

错误类型:

  

“ExceptionType”: “System.ArgumentException”

这是Get id:

的代码
// GET: api/QR_Name/5
[ResponseType(typeof(QR_Name))]
public async Task<IHttpActionResult> GetNameById(int id)
{
  QR_Name name = await db.QR_Names.FindAsync(id); //Here comes the exception
  if (name == null)
  {
     return NotFound();
  }

  return Ok(name);
}

0 个答案:

没有答案