C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 检索实体列表大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在CRM 2011中,我可以使用EarlyBoundEntities执行常规的创建,更新,删除操作.但是,我似乎无法找到使用相同类型的代码检索实体列表的示例.有没有办法使用EarlyBoundEntities检索类型的项目列表?

我查看了MSDN,如果我已经知道它的GUID,我可以找到的是如何检索实体.

// Retrieve the account containing several of its attributes.
 ColumnSet cols = new ColumnSet(
                new String[] { "name","address1_postalcode","lastusedincampaign" });

 Account retrievedAccount = (Account)_service.Retrieve("account",_accountId,cols);
 Console.Write("retrieved,");

例如,我如何获得没有电话号码的所有帐户的列表?

解决方法

如果您使用servicecontextname参数生成了早期绑定的代理类,则可以使用LINQ进行查询.

var context = new XrmServiceContext(service);
var accounts = context.AccountSet.Where(item => item.Telephone1 == null);

否则,如果您仍想使用其他查询方法(如QueryExpression),则可以使用LINQ将所有实例强制转换为所需的早期绑定类型.

var contacts = service.RetrieveMultiple(new QueryExpression
                                            {
                                                EntityName = "contact",ColumnSet = new ColumnSet("firstname")
                                            })
    .Entities
    .Select(item => item.ToEntity<Contact>());

如果您愿意,也可以使用扩展方法

public static IEnumerable<T> RetrieveMultiple<T>(this IOrganizationService service,QueryBase query) where T : Entity
{
    return service.RetrieveMultiple(query)
        .Entities
        .Select(item => item.ToEntity<T>());
}

用法

var contacts = service.RetrieveMultiple<Contact>(new QueryExpression
                                                        {
                                                            EntityName = "contact",ColumnSet = new ColumnSet("firstname")
                                                        });

大佬总结

以上是大佬教程为你收集整理的c# – 检索实体列表全部内容,希望文章能够帮你解决c# – 检索实体列表所遇到的程序开发问题。

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

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