C# 在WebAPI 2中从数据库表获取ID(最佳实践)
我有一个关于从数据库MS SQL Server中的表中获取ID的最佳实践的问题 我在C#和数据库SQL Server 2014中使用WebAPI作为REST服务 我以JSON格式获取数据,如下所示: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 = (
{
"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)?