作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我编写了代码来检查 CRM 中是否存在记录。问题是 IOrganisationService.Retrieve 在找不到记录时返回错误而不是空值。我希望找不到多条记录,我不想先使用 try catch,然后再使用 catch 中的错误。
using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(OrganizationUri, HomeRealmUri, credentials, null))
{
IOrganizationService service = (IOrganizationService)serviceProxy;
//Get record
var record = service.Retrieve(entryId, guid, new ColumnSet(true)); //switch to var if no work
//Check if record is not null/empty
recordExists = !String.IsNullOrWhiteSpace(record.Id.ToString()); //<- does the record exist
}
建议?
最佳答案
Retrieve
方法假定具有给定 ID 的记录实际存在于系统中。一般来说,它只会在两种情况下失败:
当您需要查询可能不存在的数据或查询可以产生零、一个或多个记录时,请使用QueryExpression
查询;您可以使用 RetrieveMultiple
方法发出这些查询。如果愿意,您还可以使用 LINQ for CRM,它基本上包装了 QueryExpression
功能。
关于c# - IOrganisationService.Retrieve 记录不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39954462/
我编写了代码来检查 CRM 中是否存在记录。问题是 IOrganisationService.Retrieve 在找不到记录时返回错误而不是空值。我希望找不到多条记录,我不想先使用 try catch
我是一名优秀的程序员,十分优秀!