- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我使用 CRM 2011 RC (v5) LINQ-to-CRM 提供程序编写了一个 Linq to CRM 查询。我有一个本地声明的 List
MyObject myObject = new MyObject();
List<myAccount> myAccountsList = new List<myAccount>();
myAccountsList.Add(new myAccount() {AccountNumber = "123"};
myAccountsList.Add(new myAccount() {AccountNumber = "456"};
myObject.ListOfAccounts = myAccountsList;
var accountsQuery = from ax in myObject.ListOfAccounts
join a in orgContext.CreateQuery<customAccountEntity>() on ax.AccountNumber equals a.account_number
select a;
foreach(var item in accountsQuery)
{
Console.WriteLine("Id of record retrieved: " + a.Id.ToString());
}
上面的代码编译并执行,但是,在检索整个 CRM 实体记录集后,记录的过滤是在本地执行的。显然,当 CRM 实体包含数千行时,查询将执行不佳甚至超时。
我已阅读有关 IQueryable 和 IEnumerable 的内容,并尝试使用 AsQueryable() 扩展方法转换列表,但没有效果。我需要上面的 Linq 查询来像这样运行 SQL:
SELECT a.*
FROM customAccountEntity AS a
WHERE a.account_number IN ('123', '456');
如果想连接多个字段,则使用临时表。我怎样才能做到这一点?
最佳答案
经过大量的头脑 Storm 和研究,我使用 Predicate Builder 和 LINQKit 解决了这个问题。我需要使用本地 List
var predicate = PredicateBuilder.False<customAccountEntity>();
// Loop through the local List creating an Or based predicate
foreach (var item in myAccountsList)
{
string temp = item.AccountNumber;
predicate = predicate.Or (x => x.customCrmEntityAttribute == temp);
}
// The variable predicate is of type Expression<Func<customAccountEntity, bool>>
var myLinqToCrmQuery = from ax in myObject.ListOfAccounts
from cx in orgContext.CreateQuery<customAccountEntity>().AsExpandable().Where(predicate)
where ax.AccountNumber == cx.account_number
select cx;
foreach (resultItem in myLinqToCrmQuery)
{
Console.WriteLine("Account Id: " + resultItem.Id);
}
上面的代码将像这样在 CRM 服务器上运行 SQL 语句:
SELECT a.*
FROM customAccountEntity AS a
WHERE a.account_number = '123' OR a.account_number = '456'
这意味着我可以在运行时创建一个动态的 where 子句,并且知道我的查询将在 CRM SQL Server 上运行过滤逻辑。希望这对其他人有帮助。
关于c# - LINQ to Dynamics CRM 在本地查询过滤记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4943728/
我们使用的是在线版 CRM。我已经创建了一个自定义工作流,但我似乎无法找到任何可以告诉我如何调试它的信息。我读过的所有内容都是指将 pdb 文件复制到服务器 bin/assemblies 文件夹中。由
我正在尝试将 crm 4 插件转换为 CRM 2011。有谁知道 CRm 2011 中的相应类型是什么? Customer, CrmDateTime, CrmDecimal, CrmFloat, CB
我正在尝试将 crm 4 插件转换为 CRM 2011。有谁知道 CRm 2011 中的相应类型是什么? Customer, CrmDateTime, CrmDecimal, CrmFloat, CB
我们在 CRM 2015 中有特定要求,我们需要限制非 S/S 管理员用户在业务流程中的向后移动。 我遍历了客户端 API(包括升级 1 的脚本),但我没有找到任何 API 来使用任何公开的方法来实现
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 10年前关闭。 Improve this
必须从另一个 webresoucre 控件访问 Webresource 控件使用了以下 javascript , var webResource = $(window.parent.Xrm.Pag
在将解决方案从 CRM 2011 升级到 CRM 2015 时,我只将 crm 2011 解决方案导出 zip 中生成的 solution.xml 文件的标题更改为 然后导入crm 2015,导入成
我在 BIDS 中创建了大量报告,并将它们部署到我的 CRM 在线实例中。我遇到的问题是以下代码。 看起来很简单,但它给了我以下错误。 无效数据源:不支持报告类型。 Micro
我有一个与 this post 非常相似的问题 我已经为 Dynamics CRM 2015 安装了“Microsoft Dynamics CRM Report Authoring Extension
在我开始之前,我们的客户必须通过 AFDS 连接才能继续使用 CRM 2011。所以我们谈论的是“IFD”环境。 我在使用“CRM 2011 Outlook Client”和“Window.Open(
我注册了 Dynamic CRM 在线试用版(30 天)并创建了一个非托管自定义解决方案(新字段、一些自定义实体等)。现在,我想导出非托管解决方案并将其导入到我的服务器中的 Dynamic CRM O
我们正在 MS Dynamics CRM 2015 中对自引用实体进行建模。 一个例子是建筑物和建筑物的一部分(建筑群 ==> 独立建筑 ==> 入口 ==> 楼层 ==> 平面)。 有一些字段,如成
我们有一个系统,用户可以在其中以表格形式输入他的数据,然后我们将数据保存在 CRM 中(它在云中,因此我们无法访问它等等)。现在突然我们每次都开始出错,我们尝试发送数据。 我们得到的错误是:An un
我刚刚加载了高级查找,我无法点击一半的图标/下拉菜单,因为它们都在错误的位置。它在其他服务器和其他机器上运行良好。看起来好像是 CSS 问题。有任何想法吗 最佳答案 我在 Firefox 中遇到了同样
我正在使用带有简单 OData 的 Ms Dynamic Web Api。我需要为链接实体添加新记录。 我正在使用下面的代码片段并引用文档 https://github.com/object/Simp
我在 Dynamics CRM 中的客户和投资组合之间存在 1:N 关系即每个账户都有多个投资组合,每个投资组合都有特定的 Assets 。 我正在尝试在账户表格上创建一个字段,用于计算账户“所有相关
我在更新案例表单上 customerid 字段内的文本时遇到问题 如上图所示,我创建了一个名为“Test Contact”的联系人和一个名为“Test Account”的帐户。 我有一个在后台运行的工
爱尔兰于 3 月 27 日开始实行夏令时。从那时起,任何已添加到 Dynamics 的记录都将任何日期字段设置为比实际添加时间晚一小时。 奇怪的是,Web UI 正确返回日期,而使用 SQL Serv
我需要能够扩展在云中运行的 CRM 2011。我需要能够从一个完全独立的 Internet 网站执行 CRUD 操作。我有什么选择?我对 CRM 的经验为零。我刚刚发现 OOB Web 服务只能在 C
好吧,想象一下一家银行的调用中心充满了低信任度的员工。工作人员需要通过电话为客户提供基本服务。调用中心的工作人员接听客户的电话,询问他们某些安全问题,然后以某种方式为客户提供服务。 现在,从客户的角度
我是一名优秀的程序员,十分优秀!