Here is the solution:
ManagementPack incidentManagementMP = emg.ManagementPacks.GetManagementPack("System.WorkItem.Incident.Library", keytoken, version);
ManagementPackClass incidentClass = emg.EntityTypes.GetClass("System.WorkItem.Incident", incidentManagementMP);
ManagementPack workItemManagementMP = emg.ManagementPacks.GetManagementPack("System.WorkItem.Library", keytoken, version);
ManagementPackClass wi = emg.EntityTypes.GetClass("System.WorkItem.TroubleTicket.AnalystCommentLog", workItemManagementMP);
ManagementPackRelationship wiToWi = workItemManagementMP.GetRelationship("System.WorkItem.TroubleTicketHasAnalystComment");
foreach (EnterpriseManagementObject incident in emg.EntityObjects.GetObjectReader<EnterpriseManagementObject>(new EnterpriseManagementObjectGenericCriteria("Name='IR37'"), ObjectQueryOptions.Default))
{
EnterpriseManagementObjectProjection emoAnalyst = new EnterpriseManagementObjectProjection(emg, wi);
emoAnalyst.Object[wi, "Id"].Value = Guid.NewGuid().ToString();
emoAnalyst.Object[wi, "Comment"].Value = "Incident updated via SDK.\n";
emoAnalyst.Object[wi, "EnteredBy"].Value = "Incident updated via SDK";
emoAnalyst.Object[wi, "EnteredDate"].Value = DateTime.Now.ToUniversalTime();
emoAnalyst.Object[wi, "DisplayName"].Value = "IR37Comentario";
emoAnalyst.Object[wi, "IsPrivate"].Value = "True";
EnterpriseManagementObjectProjection emoIncident = new EnterpriseManagementObjectProjection(incident);
emoIncident.Add(emoAnalyst, wiToWi.Target);
emoIncident.Commit();
}
David L.