使用 Linq 中的 contains 子句从 Dynamics 获取 CRM 联系人

Get CRM contact from Dynamics using contains clause in Linq

我正在尝试使用 contains 子句从 CRM 获取联系人,但它不起作用。 我已经使用 .Equals() 完成了它,它可以工作,但不是很方便。

 using (OrganizationService service = new OrganizationService("ConnectionString"))
        {

            CrmOrganizationServiceContext context = new CrmOrganizationServiceContext(service);

            Contact contact = new Contact();


            var contactToReturn = from c in context.CreateQuery("contact")
                                  where c["fullname"].Equals(search)
                                  select c;

            foreach (Entity c in contactToReturn)
            {

                if (c.Contains("fullname") && c["fullname"] != null)
                    contact.ContactName = c["fullname"].ToString();

                if (c.Contains("emailaddress1") && c["emailaddress1"] != null)
                    contact.EmailAddress = c["emailaddress1"].ToString();
                else
                    contact.EmailAddress = "N/A";

                if (c.Contains("telephone1") && c["telephone1"] != null)
                    contact.Telephone = c["telephone1"].ToString();
                else
                    contact.Telephone = "N/A";

            }
            return contact;
        }

这样试试:

var contactToReturn = from c in context.CreateQuery("contact")
                                  where (c["fullname"] as string).Contains(search)
                                  select c;