首页 > 编程语言 >D365 CRM C# Query数据

D365 CRM C# Query数据

时间:2024-07-04 18:20:12浏览次数:17  
标签:account name C# new 查询 D365 Query query string

在Dynamics 365插件(Plugin)开发中,有几种常用的方式来查询数据。主要方法包括:

1. QueryExpression:
- 这是最常用和最灵活的查询方法。它允许你定义复杂的查询条件,包括过滤、排序、链接(join)等。

QueryExpression query = new QueryExpression("account");
query.ColumnSet = new ColumnSet("name", "accountnumber");
query.Criteria.AddCondition("name", ConditionOperator.Equal, "Sample Account");
EntityCollection results = service.RetrieveMultiple(query);

 

2. FetchXML:
- 这种方式是使用XML格式的查询语句进行数据查询。它的语法类似于SQL,适用于需要进行复杂查询的场景。

string fetchXml = @"
<fetch>
  <entity name='account'>
    <attribute name='name'/>
    <attribute name='accountnumber'/>
    <filter>
      <condition attribute='name' operator='eq' value='Sample Account'/>
    </filter>
  </entity>
</fetch>";
EntityCollection results = service.RetrieveMultiple(new FetchExpression(fetchXml));

 

3. LINQ (Language Integrated Query):
- 如果使用的是OrganizationServiceContext,可以使用LINQ进行查询。LINQ查询语法简单明了,适合开发者使用。

using (var context = new OrganizationServiceContext(service))
{
    var query = from a in context.CreateQuery("account")
                where (string)a["name"] == "Sample Account"
                select a;
    foreach (var account in query)
    {
        // Process the account
    }
}

 

4. OData (Open Data Protocol):
- OData可以用于Web API查询。对于插件开发来说,这种方式较少用到,但在某些特定场景下仍然可能会用到。

string odataQuery = "/accounts?$filter=name eq 'Sample Account'";
HttpClient client = new HttpClient();
HttpResponseMessage response = await client.GetAsync(serviceUrl + odataQuery);
string content = await response.Content.ReadAsStringAsync();
// Process the response content

 

5. 直接SQL查询(仅限本地部署):
- 在本地部署的Dynamics 365环境中,可以直接使用SQL查询。这种方式效率高,但在在线环境中不可用。

string sqlQuery = "SELECT name, accountnumber FROM account WHERE name = 'Sample Account'";
// Execute the SQL query and process the results

 

每种方法都有其优点和适用场景,可以根据具体需求选择最合适的查询方式。

标签:account,name,C#,new,查询,D365,Query,query,string
From: https://www.cnblogs.com/TheMiao/p/18284400

相关文章

  • Create Operations and the Oracle Restart Configuration
    CreateOperationCreatedComponentAutomaticallyAddedtoOracleRestartConfiguration?CreateadatabasewithOUIorDBCAYesCreateadatabasewiththe CREATE DATABASE SQLstatementNoCreateanOracleASMinstancewithOUI,DBCA,orASM......
  • CenterOS7安装java
    CenterOS7安装java#进入安装目录cd/usr/local/soft/java#wget下载java8#直接进入官网选择相应的版本进行下载,然后把下载链接复制下来就可以下载了#不时间的下载链接不一样wgethttp://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/......
  • C#实现DFS和BFS
    以图示为例:Noderoot=newNode("A",newNode("B",newNode("C"),newNode("D")),newNode("E",newNode("F"),newNode("......
  • SpingMvc-Day02
    SpringMVC:表述层作用:1.接受前端参数[SpringMVC简化] 2.调用业务逻辑 3.响应前端数据[SpringMVC简化]SpringMVC组件: 1.DispatcherServlet:处理全部请求 2.handlerMapping:缓存handler方法和地址 3.handlerAdapter:适配器、参数和相应简化 4.ViewResovler视图解释器:查找视图页面......
  • CAD图纸加密软件哪个好用:八款顶尖CAD图纸加密软件大盘点!
     在工程设计领域,CAD图纸是设计师们的智慧结晶,承载着项目的核心技术和创新思路。然而,随着信息时代的到来,图纸的安全问题日益凸显。如何有效保护CAD图纸不被非法复制、篡改或泄露,成为了每个企业和设计师必须面对的重要课题。 今天为大家盘点八款顶尖CAD图纸加密软件,助您守......
  • 2024年华为OD机试真题- 电脑病毒感染-(C++/Java/python)-OD统一考试(C卷D卷)
     2024华为OD机试真题目录-(B卷C卷D卷)-【C++JavaPython】   题目描述一个局域网内有很多台电脑,分别标注为0~N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。......
  • 2024年华为OD机试真题- 找数字-(C++/Java/python)-OD统一考试(C卷D卷)
    2024华为OD机试真题目录-(B卷C卷D卷)-【C++JavaPython】    题目描述小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数n(1≤n≤1e9),小扇需要找到一个比n大的数字m,使得m和n对应的二进制中1的个数要相同,如:4对应二进制1008对应二进制1000其中1的......
  • Red Hat Enterprise Linux 8.0安装Docker
        上回书说到,已经通过VMwareWorkstationPro安装了RedHat虚拟机,现在尝试一下是否可以在虚拟机中安装docker;一、前置条件 CentOS7内核版本需>=3.10; CentOS6.5或以上内核版本需>=2.6.32;安装docker前请查看服务器系统版本以及内核版本是否符合要求;cat/etc/......
  • python @contextmanager
          在Python中,@contextmanager是一个装饰器,用于将一个生成器函数转换为一个上下文管理器。上下文管理器是一种用于管理资源的机制,通过with语句来使用。常见的例子如文件操作,在进入with代码块时获取资源(打开文件),在离开with代码块时自动释放资源(关闭......
  • web.py框架下的application.py模块 —— Python
    本文主要分析的是web.py库的application.py这个模块中的代码。总的来说,这个模块主要实现了WSGI兼容的接口,以便应用程序能够被WSGI应用服务器调用。WSGI是WebServerGatewayInterface的缩写,具体细节可以查看WSGI的WIKI页面接口的使用使用web.py自带的HTTPServer下面这个例......