@jacobappleton startを使用すると、「条件が無効です」というエラーが表示されました。エンティティメンバーが無効なプロパティまたはメソッドを呼び出しています。私は完全に理解していない
問題は、この行を次のとおりです。
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()はサポートされていませんか?
'contacts.Count()'を試してください。返される連絡先の数がわかるはずです。 – jacobappleton