wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Microsoft Dynamics 2011 N:N LINQ查询,其中where子句包含Guid大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我构建了一个简单的查询来返回用户团队成员资格(N:N关系).这适用于所有用户,但是当我添加一个where子句来限制特定用户时,它会抛出一个错误异常(请参阅下面的stacktrace). 奇怪的是,这适用于“Where Users.FullName.StartsWith(”Alex“)”. Dynamics CRM SDK LINQ实现不支持where子句中的Guids吗? 有什么建议? 示例代码
我构建了一个简单的查询来返回用户团队成员资格(N:N关系).这适用于所有用户,但是当我添加一个where子句来限制特定用户时,它会抛出一个错误异常(请参阅下面的stacktrace).

奇怪的是,这适用于“Where Users.FullName.StartsWith(”Alex“)”. Dynamics CRM SDK LINQ实现不支持where子句中的Guids吗?

有什么建议?

示例代码

using (var service = new OrganizationService("Xrm"))
        {
            using (var xrm = new XrmServiceContext(service))
            {
                var AlexUser = xrm.SystemUserSet.Where(p => p.FullName.StartsWith("Alex")).First();
                var AlexID = AlexUser.Id;

                var Test =
                        from Users in xrm.SystemUserSet
                        join TeamMemberships in xrm.TeamMembershipSet on Users.Id equals TeamMemberships.SystemUserId
                        join Teams in xrm.TeamSet on TeamMemberships.TeamId equals Teams.Id
                        where Users.Id == AlexID     // <-- problematic where clause
                        orderby Users.FullName
                        select new
                        {
                            FullName = Users.FullName,UserID = Users.Id,TeamName = Teams.Name
                        };

                var Test1 = Test.ToList();
            }
        }

堆栈跟踪:

解决方法

而不是Users.Id,请尝试Users.SystemUserId.同样,代替Teams.Id,尝试Teams.TeamId.

至于其工作原因,我不知道任何说明这一点的文档,但由于生成的早期绑定文件中的实体继承自Entity,它们必然具有Id属性.但是,因为早期绑定的OrganizationServiceContext将实体属性直接映射到CRM数据库,其表格不包含Id列,使用Id属性和LINQ提供程序将不起作用,因此您必须使用实际的数据库/模式名称.

大佬总结

以上是大佬教程为你收集整理的Microsoft Dynamics 2011 N:N LINQ查询,其中where子句包含Guid全部内容,希望文章能够帮你解决Microsoft Dynamics 2011 N:N LINQ查询,其中where子句包含Guid所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: