Ich muss CRM-Daten von externen Tabelle aktualisieren. Alles funktioniert gut, aber es ist sehr langsam. Dies ist mein Code:Verwenden von Parallel.ForEach zum Einfügen und Aktualisieren von CRM-Daten
static void Main(string[] args)
{
var dbClient = new CollectionEntities(); //Get database Entities
using(var xrm = new XrmServiceContext("Xrm"); // Get CRM Entities
{
foreach (var row in dbClient.Client) //Reading rows from database
{
var c = (from a in crm.new_clientSet where a.new_Idnumber == row.Client_ID select a).FirstOrDefault(); // IS there clint with id from database
if (c == null)// if client not exist i create new if exists I update data
{
c = new new_client { new_Idnumber = row.Client_ID };
crm.AddObject(c);
}
c.new_name = row.Client_name; //[Client_name]
c.new_Idnumber = row.Client_ID;//[Client_ID]
c.EmailAddress = row.Email;//[Email]
xrm.AddObject(c);
xrm.SaveChanges();
}
}
}
Damit kann ich einfügen und Aktualisieren von Daten in CRM, aber seine verlangsamen. Gibt es eine Möglichkeit, diese Parallel.ForEach-Methode oder eine andere Methode zu verwenden, um dies zu beschleunigen? Vielen Dank!