相关疑难解决方法(0)

LINQ to Dynamics CRM查询本地过滤记录

我使用CRM 2011 RC(v5)LINQ-to-CRM提供程序编写了一个Linq to CRM查询.我有一个本地声明的List <T>,我想加入CRM实体,我希望查询在CRM服务器上执行.一个例子可能有帮助:

MyObject myObject = new MyObject();
List<myAccount> myAccountsList = new List<myAccount>();

myAccountsList.Add(new myAccount() {AccountNumber = "123"};
myAccountsList.Add(new myAccount() {AccountNumber = "456"};

myObject.ListOfAccounts = myAccountsList;

var accountsQuery = from ax in myObject.ListOfAccounts
                    join a in orgContext.CreateQuery<customAccountEntity>() on ax.AccountNumber equals a.account_number
                    select a;

foreach(var item in accountsQuery)
{
    Console.WriteLine("Id of record retrieved: " + a.Id.ToString());
}
Run Code Online (Sandbox Code Playgroud)

上面的代码编译并执行,但是,在检索整个CRM实体记录集之后,本地执行记录的过滤.显然,当CRM实体包含数千行时,查询将执行不佳甚至超时.

我已阅读有关IQueryable和IEnumerable的内容,并尝试使用AsQueryable()扩展方法转换List,该方法无效.我需要上面的Linq查询来运行SQL,如下所示:

SELECT a.*
FROM customAccountEntity AS a
WHERE a.account_number IN ('123', '456');
Run Code Online (Sandbox Code Playgroud)

如果想要加入多个字段,可以使用临时表.我怎么能做到这一点?

c# linq dynamics-crm dynamics-crm-2011

12
推荐指数
1
解决办法
4956
查看次数

LINQ中Where语句中的错误

出于某种原因,我说机会实体中不存在"名字".但它是为SystemUser实体设置的.知道为什么会混淆吗?谢谢!

            var linqQuery = (from r in gServiceContext.CreateQuery("opportunity")
                             join c in gServiceContext.CreateQuery("account") on ((EntityReference)r["accountid"]).Id equals c["accountid"]
                             join u in gServiceContext.CreateQuery("systemuser") on ((EntityReference)r["ownerid"]).Id equals u["systemuserid"]
                             where r["new_leadstatus"].Equals("100000004") && u["lastname"].Equals(rsmLastName) && u["firstname"].Equals(rsmFirstName)
                             select new
                             {
                                 AccountId = !r.Contains("accountid") ? string.Empty : r["accountid"],
                                 Account = !r.Contains("name") ? string.Empty : r["name"]
                             });
Run Code Online (Sandbox Code Playgroud)

linq dynamics-crm dynamics-crm-2011

8
推荐指数
1
解决办法
916
查看次数

标签 统计

dynamics-crm ×2

dynamics-crm-2011 ×2

linq ×2

c# ×1