Asp.net 在CRM内部创建新记录之前,通过重复检测将数据从web表单推送到CRM 2015

Asp.net 在CRM内部创建新记录之前,通过重复检测将数据从web表单推送到CRM 2015,asp.net,record,dynamics-crm-2013,duplicate-data,Asp.net,Record,Dynamics Crm 2013,Duplicate Data,伙计们。 我有一个web表单,通过创建新记录将元数据推送到CRM 2015 online。但是在CRM中创建新记录之前,我想检查这些记录(名字、姓氏、DOB)是否重复。如果重复,则更新现有记录;如果不重复,则创建新记录 我目前的想法是,在web表单(ASP.NET应用程序)上检索所有记录(名称、DOB)并与输入元数据进行比较,如果匹配,则更新或创建新记录。但我不确定是否有简单的方法来做到这一点 你有什么建议吗? 谢谢 我想我刚刚拿到了 bool hasdulitate=假 //d

伙计们。 我有一个web表单,通过创建新记录将元数据推送到CRM 2015 online。但是在CRM中创建新记录之前,我想检查这些记录(名字、姓氏、DOB)是否重复。如果重复,则更新现有记录;如果不重复,则创建新记录

我目前的想法是,在web表单(ASP.NET应用程序)上检索所有记录(名称、DOB)并与输入元数据进行比较,如果匹配,则更新或创建新记录。但我不确定是否有简单的方法来做到这一点

你有什么建议吗?
谢谢

我想我刚刚拿到了

bool hasdulitate=假

        //duplicate detection
        FilterExpression codeFilter = new FilterExpression(LogicalOperator.And);
        codeFilter.AddCondition("firstname", ConditionOperator.Equal, firstname.Text);
        codeFilter.AddCondition("lastname", ConditionOperator.Equal, lastname.Text);
        QueryExpression query = new QueryExpression
        {
            EntityName = "contact",
            ColumnSet = new ColumnSet(true),  // we assume you want to retrieve all the fields
            Criteria = codeFilter
        };
        EntityCollection records = service.RetrieveMultiple(query);
        int totalrecords = records.Entities.Count;
        foreach (Entity record in records.Entities)
        {
            if (record["emailaddress1"] != null)
            {
                record["emailaddress1"] = email.Text;
                record["mobilephone"] = phone.Text;
                proxy.Update(record);
                hasDulicate = true;
            }               
        }
        if (hasDulicate == false)
        {
            Entity contact = new Entity("contact");
            contact["firstname"] = Convert.ToString(firstname.Text);
            contact["lastname"] = Convert.ToString(lastname.Text);
            contact["emailaddress1"] = Convert.ToString(email.Text);
            contact["mobilephone"] = Convert.ToString(phone.Text);
            Guid conid = proxy.Create(contact);
        }