我正在使用LINQ從Microsoft Dynamics CRM Online檢索帳戶類型實體。我無法過濾特定格式化值的列表。我有正確的價值,但我收到零記錄。 我創造我的連接是這樣的:如何在Dynamics CRM 2011中查詢(使用LINQ)FormattedValues
var connection = new CrmConnection("CRMOnline");
connection.ProxyTypesEnabled = true;
CrmOrganizationServiceContext _context = new CrmOrganizationServiceContext(connection);
我已經試過:
List<Account> items = _context.CreateQuery<Account>()
.Where(c => ((OptionSetValue)c["new_accreditationstatus"]).Equals(7))
.ToList();
和
List<Account> items = _context.CreateQuery<Account>()
.Where(c => c.GetFormattedAttributeValue("new_accreditationstatus") == "7"
.ToList();
和
List<Account> items = _context.CreateQuery<Account>()
.Where(c => c["new_accreditationstatus"] == "7"
.ToList();
最後就拋出一個System.Format異常。
正常屬性的過濾器,即.Where(c => c.AccountNumber.StartsWith("2010"))
工作得很好。
如果您啓用代理類型,爲什麼Account.new_accreditationstatus必須通過字符串鍵值來訪問?它沒有爲它創建一個屬性訪問器嗎? – Daryl 2012-07-11 19:01:04
什麼類型的字段是new_accreditationstatus? – glosrob 2012-07-11 19:01:12
@Daryl它不。它只在屬性集合中可用。我沒有設置數據庫,也沒有通過網絡服務訪問。 – 2012-07-11 19:36:56