C# 在WebAPI 2中从数据库表获取ID(最佳实践)

C# 在WebAPI 2中从数据库表获取ID(最佳实践),c#,sql-server,linq,asp.net-web-api,linq-to-sql,C#,Sql Server,Linq,Asp.net Web Api,Linq To Sql,我有一个关于从数据库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 = (

我有一个关于从数据库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);
}
我的控制器编程如下:

{
 "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_组”。这是一个很好的编程实践吗?

这可能是一个最好的问题,但我建议您研究应用程序层,而不是单独编码应用程序层和数据层

使用实体框架,此方法的大小可以减小,并且在以下形式中更具可读性:

var group = context.QR_Groups.Find(id).SingleOrDefault();

希望这至少能给出一个想法?

这可能是一个最好的问题,但我建议您研究应用程序层,而不是单独编码应用程序层和数据层

使用实体框架,此方法的大小可以减小,并且在以下形式中更具可读性:

var group = context.QR_Groups.Find(id).SingleOrDefault();

希望这至少能给出一个想法?

这可能是一个最好的问题,但我建议您研究应用程序层,而不是单独编码应用程序层和数据层

使用实体框架,此方法的大小可以减小,并且在以下形式中更具可读性:

var group = context.QR_Groups.Find(id).SingleOrDefault();

希望这至少能给出一个想法?

这可能是一个最好的问题,但我建议您研究应用程序层,而不是单独编码应用程序层和数据层

使用实体框架,此方法的大小可以减小,并且在以下形式中更具可读性:

var group = context.QR_Groups.Find(id).SingleOrDefault();

希望这至少能提供一个想法?

您的查询应该是获取组的所有记录,然后在筛选后应用。但这里要应用过滤器并获取对象

var group = context.QR_Groups.where(x=>x.Id==id).FirstOrDefault();

您的查询应该是获取组的所有记录,然后在筛选后应用。但这里要应用过滤器并获取对象

var group = context.QR_Groups.where(x=>x.Id==id).FirstOrDefault();

您的查询应该是获取组的所有记录,然后在筛选后应用。但这里要应用过滤器并获取对象

var group = context.QR_Groups.where(x=>x.Id==id).FirstOrDefault();

您的查询应该是获取组的所有记录,然后在筛选后应用。但这里要应用过滤器并获取对象

var group = context.QR_Groups.where(x=>x.Id==id).FirstOrDefault();

这是我以前编写的代码。这比我的帖子上面的代码好吗?或者,优点只是代码比上面的代码少?本质上,这两种方法被编译为相同的,这更符合个人喜好,因为你喜欢如何阅读代码。这段代码我以前编写过。这比我的帖子上面的代码好吗?或者,优点只是代码比上面的代码少?本质上,这两种方法被编译为相同的,这更符合个人喜好,因为你喜欢如何阅读代码。这段代码我以前编写过。这比我的帖子上面的代码好吗?或者,优点只是代码比上面的代码少?本质上,这两种方法被编译为相同的,这更符合个人喜好,因为你喜欢如何阅读代码。这段代码我以前编写过。这比我的帖子上面的代码好吗?或者,优点只是代码比上面的代码少?本质上,这两种方法被编译为相同的,对于您喜欢如何阅读代码,这更符合个人偏好。您的代码比其他示例更好吗?我的意思是其他代码也会过滤Id,不是吗?当你写这个“从数据库中的g.QR_组”时,所有从存储库g中获取的数据都会被过滤。但是我的查询在第一时间被过滤并返回结果aah ok:)谢谢你的解释!不要说谢谢,如果它是帮助然后正确的马克answer@MukeshKalgude为什么要使用.Where(x=>x.Id==Id)而不仅仅是.Find(Id)?您的代码比其他示例更好吗?我的意思是其他代码也会过滤Id,不是吗?当你写这个“从数据库中的g.QR_组”时,所有从存储库g中获取的数据都会被过滤。但是我的查询在第一时间被过滤并返回结果aah ok:)谢谢你的解释!不要说谢谢,如果它是帮助然后正确的马克answer@MukeshKalgude为什么要使用.Where(x=>x.Id==Id)而不仅仅是.Find(Id)?您的代码比其他示例更好吗?我的意思是其他代码也会过滤Id,不是吗?当你写这个“从数据库中的g.QR_组”时,所有从存储库g中获取的数据都会被过滤。但是我的查询在第一时间被过滤并返回结果aah ok:)谢谢你的解释!不要说谢谢,如果它是帮助然后正确的马克answer@MukeshKalgude为什么要使用.Where(x=>x.Id==Id)而不仅仅是.Find(Id)?您的代码比其他示例更好吗?我的意思是其他代码也会过滤Id,不是吗?当你写这个“从数据库中的g.QR_组”时,所有从存储库g中获取的数据都会被过滤。但是我的查询在第一时间被过滤并返回结果aah ok:)谢谢你的解释!不要说谢谢,如果它是帮助然后正确的马克answer@MukeshKalgude为什么要使用.Where(x=>x.Id==Id)而不仅仅是.Find(Id)?