Quote:如果BlobDetails不是LINQ实体,那么您可以直接这样做:
var qry = from b in dc.Blobs
orderby b.RowVersion descending
select new BlobDetails {
Id = b.Id, Size = b.Size,
Signature = b.Signature, RowVersion = b.RowVersion};
return qry.ToList();
我看到他们正在通过ORM工具LINQ TO
SQL选择查询中的特定列。批评ORM工具的人说,如果我没记错的话,ORM工具会从表中选择并返回整个对象,并限制了只能选择特定列的选项,就像通过经典的SQL编程可以做到的那样。当然,当我看到此示例时,我对此表示怀疑,但尽管如此,我仍然不断问自己一个问题:数据库是仅返回选定的列,还是返回整个对象,而将列过滤留给ORM工具?
在此示例中,它们还有一个名为Blobdetails的类:
public class BlobDetails
{
public int Id { get; set; }
public string Signature { get; set; }
public int Size { get; set; }
public System.Data.Linq.Binary RowVersion { get; set; }
}
每当我只希望通过LINQ从表中选择几列时,是否需要创建自己的类?
您无需创建新的类即可从表中选择几列。您可以为此使用匿名类型。
var qry = from b in dc.Blobs
orderby b.RowVersion descending
select new { b.Id, b.Size, b.Signature, b.RowVersion};
return qry.ToList();
仅传输选定的列。使用普通SQL和使用LINQ to SQL没有区别。当您执行LINQ查询时,它将转换为纯SQL并执行。然后将结果映射到您的对象。
您可以使用SQL Server
Profiler查看在服务器上生成并执行了哪些查询。您也可以使用LINQPad来查看查询中将生成什么SQL。在您的情况下,使用BlobDetails或匿名对象的查询将相同:
SELECT [t0].[Id], [t0].[Size], [t0].[Signature], [t0].[RowVersion]
FROM [Blobs] AS [t0]
ORDER BY [t0].[RowVersion] DESC
问题内容: 我正在使用Entity Framework Code First开发WCF RESTful Web服务。 我的桌子上有很多列。我这样做是为了获得特定用户: 在此表上,有一个密码列,我不想返回此列。 如何从该选择中排除密码列? 问题答案: 在select语句中指定所需的每一列:
问题内容: 我正在使用Spring JPA执行所有数据库操作。但是我不知道如何从Spring JPA的表中选择特定的列? 例如: 问题答案: 你可以从这样的类中在注释中进行设置: 请注意,你将不得不自己进行映射。像这样使用常规映射查找可能会更容易,除非你确实只需要这两个值: 也许也值得看一下Spring数据文档。
我正在使用Spring JPA执行所有数据库操作。但是,我不知道如何在Spring JPA中从表中选择特定的列? 例如:
是否有一种方法可以更改“starts_with”命令来选择所有以大写字母和句号开头的列?我尝试使用诸如“[A-Z]”之类的修改。都没有成功。 提前致谢
我想用Wordpress博客创建一个投资组合。在“博客文章”的摘要页面上,我希望有图片的缩略图,然后当你点击这些图片时,它们会进入该项目的完整列表。 我想我可以限制摘要页面上的帖子,只显示描述中的一张图片。 我的想法如下: 在摘要页面上,我希望循环只针对并显示每个帖子中带有“缩略图图像”类的图像,然后在单个帖子页面中,我将使用CSS隐藏缩略图图像。 我想知道的是,在php中是否有一种很好的方法可以
我想从我的表中获取一些特定的列,但我得到了这个错误:无法执行查询;SQL[按名称顺序从字符中选择名称、图像asc];嵌套的异常是org。冬眠例外SQLGrammarException:无法执行查询。 o、 引擎。jdbc。spi。SqlExceptionHelper:SQL错误:0,SQLState:42703 o.h.engine。jdbc。spi。SqlExceptionHelper:在此结果