我有一个关于从数据库MS SQL Server中的表中获取ID的最佳实践的问题。
我在C#和数据库SQL Server 2014中使用WebAPI作为REST服务。
我以JSON格式获取数据如下:
{
"Id":1,
"name":"Deutschland",
"code":"DE",
"state":[]
}
我的控制器编程如下:
[HttpGet]
public HttpResponseMessage GetGroup(int id)
{
Group group = (
from g in db.QR_Groups
where g.Id == id
select new Group
{
Id = g.Id,
name = g.name,
code = g.code
}).SingleOrDefault();
if (group == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
return Request.CreateResponse(HttpStatusCode.OK, group);
}
我的数据库表名为" QR_Groups"。这是我编程的好习惯吗?
答案 0 :(得分:2)
这可能是Code Review上提出的最佳问题,但有一点我建议您查看Entity Framework,而不是单独编写应用程序和数据层。
使用Entity Framework,可以缩小此方法的大小,并使其在表单中更具可读性:
var group = context.QR_Groups.Find(id).SingleOrDefault();
希望这至少能给出一个想法吗?
答案 1 :(得分:1)
您的查询应该获取组的所有记录,然后在过滤后应用。但这里应用过滤器和获取对象
var group = context.QR_Groups.where(x=>x.Id==id).FirstOrDefault();