2010-09-22 7 views
0

Nous utilisons ADO.Net DataService (.Net Framework 4.0, Visual Studio 2010). Nous avons des opérations Select, Insert, Update et Delete.ADO.Net DataService Performance Issue

  • pour la sélection que nous avons des requêtes telles que

école école = _context.School.Expand ("Adresse, ContactPerson, ContactPerson/Détails ......"). Où (S => S .Name == "xxx"). SingleOrDefault();

  • pour l'insertion

    _context.AddToSchool (école); _contextSaveChanges();

    address.SchoolCode = school.Code; //// Adresse ayant une relation avec l'école

    _context.AddToAddress (adresse);

// À l'heure actuelle, nous n'avons aucune opération d'insertion en cascade.

  • Pour la mise à jour, nous utilisons comme cette

    // Chaque fois que la mise à jour tout, nous créons l'objet, nous faisons face à des problèmes comme contexte « Contexte de suivi déjà l'entité » ou » est pas suivi ". Ceci est le pire pratique :(

    _context = new DataContext (......)

    AttachObject ("écoles", l'école); _context.UpdateObject (école); _context.SaveChanges() ;

    extrait

    code qui est utilisé pour attacher l'objet en mettant à jour

    AttachObject private void (string entitySetName, entité d'objet) {

    . 210

    }

  • Pour supprimer

    // En ce moment, nous n'avons pas supprimer toute cascade opération.

adresse Adresse = _context.Address.where (A => == A.Code deleteAddress.Code) .SingleOrDefault();

_context.DeleteObject (adresse); _context.SaveChanges();

Cela prend beaucoup de temps, même dans le système local. J'ai peur des performances, cela doit être lancé sur un serveur séparé. S'il vous plaît dites-moi quelle est la meilleure approche en utilisant "ADO.DATASERVICE Net »

J'ai besoin réponse pas bas Vote :)

EDIT: J'ai vérifié avec la gamme de 5 lignes avec colonne de 10, et une table imbriquée de 4. Même je peux voir gel interface utilisateur unique mise à jour de ligne pour 5 secondes.

Répondre

0

Je pas exclure la requête pour l'instant.

  1. Quelle est e La taille des données? Quelques centaines de lignes, quelques millions ou quelques centaines de millions?
  2. Indice et performance du disque?
  3. S'il s'agit d'un serveur distant, comment se connecte-t-il?

Maintenant la requête

  1. Assurez-vous que vous n'êtes pas étendez les données en double. Développez seulement ce qui est nécessaire.
  2. Vérifiez pour d'autres types de données que vous élargissons, peut-être binaires pour les images, etc.

Hope that helps.

+0

Son seul système local, et sa configuration est trop bonne et rangée à un seul chiffre. Il prend deux fois plus de temps que ADO.Net. – Mohanavel