Dynamics CRM 2011 - LINQ - 检索帐户和联系人之间的连接

时间:2012-04-13 14:48:41

标签: c# linq .net-4.0 dynamics-crm dynamics-crm-2011

我已经完成了很多搜索,但找不到如何在Dynamics CRM 2011中ConnectionAccount之间检索Contact信息的示例。有人能指出我正确的方向吗?

仅供参考,这是我通常的检索数据的方法(它没有涵盖这个问题,我尝试过的任何东西都没有接近工作)

        var context = new XrmServiceContext(crmService);
        var accounts = context.AccountSet.Where(a => a.Name.StartsWith("A"));

        Console.WriteLine("Accounts beginning with the letter A");

        foreach (Account account in accounts)
        {
            Console.WriteLine("{0} ({1})", account.Id, account.Name);
        }

先谢谢。

2 个答案:

答案 0 :(得分:5)

编辑:更新匹配要求的答案。

连接的详细信息存储在Connection实体集中。

var context = new XrmServiceContext(crmService);
var accounts = context.AccountSet.Where(a => a.Name.StartsWith("A"));

Console.WriteLine("Accounts beginning with the letter A");

foreach (Account account in accounts)
{
    Console.WriteLine("{0} ({1})", account.Id, account.Name);
    var accToConConnections = 
    context.ConnectionSet.Where(con => con.Record1Id.Id.Equals(account.Id) &&
                                       con.Record2ObjectTypeCode.Value.Equals((int)Contact.EntityTypeCode));

   //do something with the connections if you want!
}

答案 1 :(得分:2)

回答了我自己的问题。有一个例子隐藏在MSDN中谷歌已经从它的搜索结果中省略了。 MSDN example