我正在寻找最快的方式来返回一组帐户,该帐户的电子邮件地址与CRM 2011中的域名匹配。我使用早期绑定实体。我在想Linq查询最简单,最快,但不知道从哪里开始。谢谢。CRM 2011 - 通过电子邮件地址域快速查找帐户
回答
使用@jacobappleton开始,我得到一个错误“无效”,其中'条件。实体成员正在调用无效的属性或方法。“
的问题,我不完全理解,是这一行:
where c.EMailAddress1.Substring(c.EMailAddress1.IndexOf('@')) == email.Substring(email.IndexOf('@')
虽然不太准确,我换的是以下代替。在查询之前定义域。
where c.EMailAddress1.Contains(domain)
最终结果是:
public Account GetAccount(string email)
{
var context = new ServiceContext(_service);
var domain = email.Substring(email.IndexOf('@'));
var contacts = from c in context.ContactSet
where c.EMailAddress1.Contains(domain)
where c.StateCode == ContactState.Active
where c.ParentCustomerId != null
select c;
return RetrieveEntity(Account.EntityLogicalName, contacts.First<Contact>().ParentCustomerId.Id, new ColumnSet(true)).ToEntity<Account>();
}
相关,我该如何检查记录的计数返回。 contacts.Any()不支持?
您需要像这样:
var query = (
from c in ctx.contacts
where c.emailaddress1.Substring(c.emailaddress1.IndexOf('@')) == "@domain.com"
&& c.statuscode == 0
select c);
这是假设你已经创建了早期绑定类,并建立了一个数据上下文。
这个链接给出了让你到你需要实际运行上面的LINQ的代码点相当多的信息的:http://sandrinodimattia.net/blog/post/Early-binding-tips-and-tricks-for-Dynamics-CRM-2011.aspx
希望有所帮助。
而不是使用.Substring,使用.EndsWith会不会更容易/更高效?正如在'where c.emailaddress1.EndsWith(“@ domain.com”)'? –
效率明智我会说他们很相似:http://msdn.microsoft.com/en-us/library/system.string.endswith%28v=vs.71%29.aspx但我会承认'EndsWith'稍微简单一些。 – jacobappleton
- 1. Salesforce SOQL - 通过联系人电子邮件查找帐户
- 2. 检查重复的用户帐户和电子邮件地址
- 3. 通过CRM 2011的普通用户发送电子邮件时发生电子邮件路由器错误
- 4. 用于查找电子邮件地址域的SQL查询
- 5. BlackBerry查找电子邮件地址
- 6. 如何通过电子邮件发送电子邮件地址
- 7. Microsoft Dynamics CRM 2011电子邮件导出
- 8. 使用Google域名查找电子邮件地址?
- 9. 将电子邮件域与电子邮件地址相匹配
- 10. CRM 2011 - 电子邮件路由器和具有相同电子邮件地址的多个联系人
- 11. 从发件人帐户获取电子邮件地址
- 12. 验证电子邮件地址(域名)
- 13. php - 未通过easyspace邮件帐户收到hotmail帐户的电子邮件
- 14. 如何通过电子邮件地址找到人?
- 15. C# - 查找Active Directory用户的所有电子邮件地址
- 16. 通过C#通过Google Apps帐户发送电子邮件
- 17. 通过谷歌地址的电子邮件地址API
- 18. 如何通过html硬编码用户名的电子邮件地址域?
- 19. AppEngine DB通过电子邮件地址获取用户
- 20. 获取Facebook用户ID通过电子邮件地址
- 21. crm 2011批量删除电子邮件通知 - 如何构建网址?
- 22. PayPal IPN - 如果网站电子邮件地址与PayPal帐户电子邮件地址不同?
- 23. 电子邮件地址验证但创建帐户,虽然如果电子邮件地址无效
- 24. PHP通过随机电子邮件帐户发送电子邮件
- 25. 通过SQL查询在电子邮件地址中检测TLD
- 26. 将多个电子邮件地址与ASP.NET MembershipProvider帐户关联
- 27. 基于电子邮件帐户地址的动态PayPal按钮
- 28. 检查电子邮件地址是否为子域名
- 29. MS Dynamics CRM快速查找
- 30. SSRS订阅 - 通过电子邮件发送至可变电子邮件地址
试试'contacts.Count()'这应该会给你返回的联系数量。 – jacobappleton