首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ObjectQuery -它是什么,如何得到它?

ObjectQuery -它是什么,如何得到它?
EN

Stack Overflow用户
提问于 2019-11-05 13:40:15
回答 1查看 1.3K关注 0票数 2

我正在Linq致实体上读。

ObjectQuery在这些文档中非常突出,但我不太明白它是什么。据我所读,它是一个表示查询的对象。我一直认为,当我编写一个Linq查询时,我会从中得到一个IQueryable,这样我就可以( a)进一步编写它,或者( b)枚举它,以便从数据库中获取数据。

  1. ObjectQueryIQueryable有何不同?
  2. 本文中提到的“命令树查询”是什么?它和表达式树有什么不同?
  3. 当我编写一个Linq查询时,我能从我得到的ObjectQuery中获得一个IQueryable吗?

链接:

https://learn.microsoft.com/en-us/dotnet/api/system.data.objects.objectquery-1?view=netframework-4.8

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-05 15:38:08

它是System.Data的一部分,与LINQ不同。由于它正在将SQL-字符串转换为对象,因此如果出于某些原因,您不希望使用LINQ或EF,则可能会很有用。EF中更新的版本是

代码语言:javascript
复制
context.SqlQuery("Select * from Students").ToList<Student>();

会和

代码语言:javascript
复制
new ObjectQuery<Student>("Select * from Students", context).

后者中的上下文是第一行中的对象上下文和DBContext。所有这些都不是强类型的,因此“更简单”或者“快速和肮脏”。不是推荐的方法。

推荐的方法是拥有一个DbSet < Student>,根本不处理Strings (如果可以避免的话)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58712566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档