【问题标题】:LINQ to CRM or just LINQ to SQL/EntityLINQ to CRM 或只是 LINQ to SQL/Entity
【发布时间】:2012-10-03 15:44:37
【问题描述】:

我已经在从 CRM Dynamics 提取的实体上使用了 LINQ,但是尽管数据的原始来源是,它仍然只能通过 LINQ 操作到数据结构。现在,我得到一个提示,可以使用 LINQ 直接在 Dynamics 中查询数据库,这令人惊讶,但(假设它有效)很棒。

所以,我检查了 SDK 和示例,据我所知,那里有某种 LINQ to CRM 的东西。因为我很难相信微软在这样一个专门的产品上花费了这么多的开发时间,我怀疑它实际上是在 CRM 下运行的 LINQ to SQL/Entity(Dynamics 是由 MS SQL Server 提供支持的,不是吗? ?) 我希望有人否认或确认。

例如我看过这两篇文章:document #1document #2

编辑:

因此,我的问题是,是否存在真正的 LINQ-to-CRM,或者我们是否正在处理在真正的 CRM Dynamics 下运行的 LINQ-to-SQL(或类似的东西)。

【问题讨论】:

  • Johnsson 你能看看你的问题吗?很难确定你在问什么。
  • @DavidBasarab 我试过了。看看是否更清晰。
  • @AndreasJohansson:为什么这种区别很重要?
  • @PeterMajeed Pure,学术好奇心(据我所知)。除此之外,我可以想象可能会有所不同,例如性能速度。话虽如此,我只是为了知道这一点而感到好奇。称其为聚会上的破冰谈话开场白(如果聚会容纳除了编码以外没有其他技能的书呆子程序员,呵呵)。

标签: linq dynamics-crm


【解决方案1】:

您引用的示例似乎使用 LINQ-to-Objects。

this MSDN page 看来,微软为 CRM 创建了一个专门的 API,形式为 OrganizationServiceContext

此类用于访问 SOAP 端点,因此它利用 L2S 或 LINQ-to-EF。

在 Microsoft Dynamics CRM 2011 和 Microsoft Dynamics CRM Online 中,您 可以使用 .NET 语言集成查询 (LINQ) 编写查询。你 可以使用 OrganizationServiceContext 类或派生类 由 CrmSvcUtil 工具创建,用于编写访问 SOAP 端点 (Organization.svc)。 OrganizationServiceContext 类 包含转换 LINQ 的基础 LINQ 查询提供程序 来自 Microsoft Visual C# 或 Microsoft Visual Basic .NET 语法的查询 进入 Microsoft Dynamics CRM 使用的查询 API。

CRM Web 服务是否针对 SQL Server 使用 LINQ-to-SQL 或 LINQ-to-EF 是另一个问题。

【讨论】:

  • 纯粹出于学术上的好奇心 - 怎么可能知道 LINQ2CRM 是由 LINQ2anythingElse 提供支持还是“真实”的东西?
  • 更简单的检查是查看您查询的类型是否派生自 IEnumerable 或 IQueryable,或者是否具有本机 Where、Select、OrderBy 等方法。如果它只是 IEnumerable,那么您只是在处理 LINQ to Objects。否则,使用 ILSpy/Reflector 从 IQueryable 源检查 GetEnumerator 方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-27
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
  • 1970-01-01
  • 1970-01-01
  • 2011-04-09
相关资源
最近更新 更多