2015-11-24 1 views
1

J'ai regardé partout et j'ai été incapable de trouver une réponse à cette question, je cherche probablement la mauvaise chose mais j'ai pensé que je devrais essayer ici. Quand je programme, j'interagis avec des bases de données SQL en utilisant SqlConnection et SqlCommand pour connecter et exécuter des procédures stockées. Cependant j'en ai vu d'autres comme mon Boss (qui programme en VB) en utilisant un fichier Dataset.xsd qui vous permet de construire des adaptateurs de table que vous pouvez facilement référencer dans le code. Je suis nouveau à la programmation mais tous les tutoriels que j'ai vu en ligne utilisent la méthode SqlCommand mais le .xsd semble tellement mieux à visualiser et à utiliser, Y at-il un inconvénient à cette méthode? et pourquoi personne d'autre que MSDN ne semble le référencer?C# - Dataset ou SQL

Source: https://msdn.microsoft.com/en-us/library/d7125bke.aspx section Top Dataset.xsd, section inférieure sqlCommand

(Toutes mes excuses si cela a déjà été posée ... Il semble que cela devrait avoir, mais je ne peux pas le trouver nulle part)

+0

entité pas vraiment Regardez dans la réponse donnée dans le lien ci-dessous http://stackoverflow.com/questions/1083193/whats-better-dataset- or-datareader –

+1

Utiliser ado.net a l'avantage que vous trouverez plus d'aide sur SO. Un ensemble de données fortement typé a quelques avantages mais ce n'est pas un vrai framework O/RM comme framework d'entité, même Linq-To-Sql est beaucoup plus puissant. Il est également très facile de faire les mauvaises choses avec DataSets. Vous allez commencer à charger tout en mémoire au lieu d'utiliser la base de données, ce qui peut entraîner des problèmes de performances ou des problèmes de synchronisation/verrous. –

Répondre

1

Si Je ne me trompe pas, cette façon d'interagir se fait en déplaçant visuellement votre connexion.

La raison pour laquelle vous trouverez plus d'informations sur sql connection et sqlcommands est due aux performances. Les ensembles de données sont plus pléthoriques, mais pour les petits programmes, ils vont bien. Tant que vous ne demandez pas beaucoup de données, vous n'aurez aucun problème.

J'espère que c'est ce que vous cherchez.

+0

DataSets ne sont pas moins efficaces en soi. Ils sont également usen ADO.NET dans les coulisses. La raison pour laquelle ils pourraient nuire à la performance est qu'il est facile de les abuser. Vous pouvez commencer à charger tout en mémoire car il est très pratique d'avoir tous dans DataTables. Mais la performance n'est pas le problème principal. Il s'agit de la nature hors ligne et donc des problèmes de synchronisation. –

1

Réponse courte est la performance et vous avez plus de fonctionnalités que le fichier xsd XSD est en fait un standard pour la création du fichier XML

Réponse longue:

  1. DataSet

    sera un objet en mémoire; il vous permet de transporter un ensemble de données déconnecté et de travailler avec lui - mais vous encourrez le coût du transport du seau (mieux vaut le garder à une taille qui vous convient). Lorsque vous arrivez plus loin dans le développement, vous verrez le concept de test unitaire, son test unitaire assez difficile à faire avec les fichiers XSD.

approche XSD est calculée comme manque ORM, mais son cadre