我正在尋找最快的方式來返回一組帳戶,該帳戶的電子郵件地址與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. CRM 2011 - Dashboard的電子郵件快照給特定用戶
- 2. Salesforce SOQL - 通過聯繫人電子郵件查找帳戶
- 3. cUrl在instagram上通過電子郵件查找帳戶
- 4. 更改回覆電子郵件地址到隊列的電子郵件地址在動態crm 2011
- 5. 檢查重複的用戶帳戶和電子郵件地址
- 6. 通過CRM 2011的普通用戶發送電子郵件時發生電子郵件路由器錯誤
- 7. 用於查找電子郵件地址域的SQL查詢
- 8. BlackBerry查找電子郵件地址
- 9. 如何通過電子郵件發送電子郵件地址
- 10. Microsoft Dynamics CRM 2011電子郵件導出
- 11. CRM 2011-電子郵件存在?
- 12. 使用JIRA REST API通過電子郵件地址查找JIRA用戶
- 13. 使用Google域名查找電子郵件地址?
- 14. 將電子郵件域與電子郵件地址相匹配
- 15. CRM 2011 - 電子郵件路由器和具有相同電子郵件地址的多個聯繫人
- 16. 從發件人帳戶獲取電子郵件地址
- 17. 驗證電子郵件地址(域名)
- 18. php - 未通過easyspace郵件帳戶收到hotmail帳戶的電子郵件
- 19. 如何通過電子郵件地址找到人?
- 20. C# - 查找Active Directory用戶的所有電子郵件地址
- 21. 通過C#通過Google Apps帳戶發送電子郵件
- 22. 通過谷歌地址的電子郵件地址API
- 23. 如何通過html硬編碼用戶名的電子郵件地址域?
- 24. 通過電子郵件地址搜索用戶?
- 25. 獲取Facebook用戶ID通過電子郵件地址
- 26. AppEngine DB通過電子郵件地址獲取用戶
- 27. crm 2011批量刪除電子郵件通知 - 如何構建網址?
- 28. 電子郵件地址驗證但創建帳戶,雖然如果電子郵件地址無效
- 29. PayPal IPN - 如果網站電子郵件地址與PayPal帳戶電子郵件地址不同?
- 30. Dynamics CRM 2011電子郵件路由器錯誤:電子郵件地址與CRM中任何已批准的轉發郵箱用戶或隊列記錄無關
試試'contacts.Count()'這應該會給你返回的聯繫數量。 – jacobappleton