【发布时间】:2016-06-15 13:33:49
【问题描述】:
我正在尝试更改动态 crm 中的一些数据。 为了实现这一点,我想编写一个插件来搜索具有特殊条件的实体。
到目前为止,并没有那么特别。
我可以执行 QueryExpression 并搜索实体 A 的“字段 A”具有“那个值”(例如字符串)的位置
现在不同的是,我要测试“字段 A”是否等于“字段 B”。
在 T-SQL 中是 select * where table1.fielda = table1.fieldb
所以我想将一个实体记录的属性值匹配到同一实体记录的属性值。
我搜索并找到了一种可以在 QueryExpression 中的表上进行连接的方法(API 参考可以在这里找到:https://msdn.microsoft.com/en-us/library/dn481591.aspx),但我不知道如何将它用于我的porpuse,如果它符合我的要求,或者如果它是错误的方式。
那么,有人这样做了吗?
谢谢
----更新----
到目前为止我尝试了什么: 基于@Brendon Colburn 提供的帖子 我尝试构建我的自我加入 LINQ 查询。
不幸的是,构建查询对我试图实现的目标有限制:
您无法在要将字段与另一个字段进行比较的地方构建查询。
(from cl in context.CreateQuery<ContractDetail>()
join a in context.CreateQuery<Account>()
on cl.CustomerId.Id equals a.AccountId
where cl.StateCode.Value == 0
where cl.new_SupportedBy == a.Name
select cl).ToList();
抛出错误 ConsoleApplication1.exe 中发生了“System.InvalidOperationException”类型的未处理异常
所以,最终似乎无法以好看的方式归档它。
看来我最终将搜索我想要查看的所有实体记录,并根据我在 for - each 循环中确定的条件查找记录。 :(((
【问题讨论】:
标签: c# dynamics-crm microsoft-dynamics