- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
希望有人能从性能的角度阐明使用 OrganizationServiceContext.CreateQuery
与使用 FetchXML
(或 QueryExpression
)的区别。
我广泛使用了 LINQ
但对 CRM 还是陌生。 CreateQuery
似乎很适合我的技能组合,但我想知道最终的性能。
我意识到了这一点
var result = from e in orgContext.CreateQuery("xyz_myentity")
where e["email"] == "someone@example.com"
select e;
将返回 xyz_myentity
的所有属性,但我似乎无法找到位于 CRM 之上的 LINQ 提供程序的任何文档。使用匿名类型会限制从 SQL/CRM 返回的属性吗?或者是在从服务器返回全套数据后在“客户端”完成魔术?是针对所有属性的 SQL 查询,然后 LINQ 提供程序是否在此基础上构建匿名类型?
var result = from e in orgContext.CreateQuery("xyz_myentity")
where e["email"] == "someone@example.com"
select new { Name=e["xyz_name"] };
是否有与引入 OrganizationServiceContext
相关的任何其他注意事项?
最佳答案
CRM 的 LINQ 建立在 QueryExpression
之上,因此具有几乎相同的限制。它在 Microsoft.Xrm.Sdk 库中在客户端实现。图书馆向 CRM 网络服务发送 QueryExpression
请求。
LINQ 向查询堆栈添加了一个抽象层(LINQ -> QueryExpression -> SQL),因此您可以预期性能会受到很小的影响。
FetchXML 是可用于查询 CRM 的最古老的技术。微软表示它在服务器上的性能稍差。编写 FetchXml 查询归结为构造 XML 消息,因此总体来说编程体验很差。
OrganizationServiceContext
是处理 LINQ 查询所必需的;它是一个能够跟踪数据对象变化的对象。众所周知,它存在一些问题,而且它也需要付出代价。例如。跟踪大量数据是不可取的。
当我必须在 LINQ 和 QueryExpression
之间做出选择时,我仍然倾向于后者。当你需要查询CRM时,它是最轻量级的技术,借助一些扩展方法,编程体验还可以。
(注:CRM 2016新增了一种使用Web API的查询方式。)
关于c# - OrganizationServiceContext.CreateQuery 与获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34666986/
嗨,我在 phpmyadmin 中编写了这个查询,它可以在 gr8 中运行。 SELECT u.* FROM users AS u WHERE u.id = 14469 OR
我将使用jsp和servlet使用hibernate 4.3.x开发一个简单的应用程序。我想将数据库中的表数据加载到使用jsp创建的表中。 这是我的 role.jsp 文件中的必填部分
我有这个代码: var existsQuery = from e in TableServiceContext.CreateQ
我正在处理一些继承的代码,但我不习惯 Entity Framework 工作。我试图弄清楚为什么以前的程序员会按照他们的方式编码,有时会混合和匹配不同的数据查询方式。 Deal d = _em.fin
尝试弄清楚 JPQL CreateQuery 上的联接如何工作。我有一个带有 SQL 代码的经理姓名的部分搜索功能: SELECT e.EMPLOYEE_ID AS empId, e.FIR
我正在使用 tableServiceContext.CreateQuery 方法,现在(升级到 Azure SDK 2.5 后)它说 * Support for accessing Windows A
我正在尝试使用用户的电子邮件返回用户的 ID,因此我的 dao 类中有一个方法应该返回用户的 ID,并且该方法将电子邮件作为参数: public int trouverUtil( String ema
我已经为我的 Generic DAO 制作了这个方法 public T find(String column, String input) { Query query = em.createQ
我是 Entity Framework 的新手。 我找不到下面的方法CreateQuery() 为什么我找不到这个方法?!! 最佳答案 由于 ESQL 被认为是高级用例,因此 DbContext 中没
希望有人能从性能的角度阐明使用 OrganizationServiceContext.CreateQuery 与使用 FetchXML(或 QueryExpression)的区别。 我广泛使用了 LI
'我每次都会收到 NullPointerException EntityManager.createQuery()或 EntityManager.createNamedQuery()叫做。 我正在使用
我们在session.createQuery()处面临Web应用程序实例终止 我们正在使用Linux和jboss-4.0.3 AS版本,因为它具有以下异常 每次调用此方法时我们都不会遇到问题,但有时会
谁能告诉我Hibernate的区别: createCriteria createQuery createSQLQuery 谁能告诉我这三个函数返回什么数据,c.q.引导我到一个适当而简单的链接来研究这
我正在努力找出当我尝试使用 createQuery() 运行 HQL 查询时发生的空指针异常的根源。 运行查询的代码非常简单。最初我有一个正在调用的命名查询,但只是为了让事情变得更简单并消除我这样做的
我通常在实例化查询对象时使用这种方法: Query query = datastore.createQuery(Product.class); 但是 Morphia 允许您在实例化查询对象时传递集合名
1.我能够持久化实体,并且在 _admin 中,我能够看到 key 、id/name。共有 6 个结果。但为什么它不显示我的实体类中的所有属性? 2.当我尝试使用createQuery时,我无法加载该
使用 JPA/Eclipse TopLink。 我正在更新一个表(使用 createNativeQuery),如下所示: Query query = em.createNativeQuery("UPD
这是失败的: public List requestTypeActionCommercialeSansNip() throws PersistenceException { Query que
我有这个应用程序,我使用 JSF 2.0 和 EclipseLink,我有为 MySQL 中的数据库创建的实体,使用 netbeans 7.1.2 创建这些实体,它会自动创建。 然后我使用 sessi
我自己的 Persistence 类中有以下通用方法: @SuppressWarnings("unchecked") public static T getByCondition(Class cla
我是一名优秀的程序员,十分优秀!