Générer un DataSet Typé [Résolu]

Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
- - Dernière réponse : romagny13
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
- 10 août 2007 à 10:46
Bonsoir,
existe t'il une classe permettant de générer un DataSet typé dans le framework ?

je sais qu'il existe un fichier Xml qui lorsque l'on saisit les differentes "entités" celles ci sont converties automatiquement avec le code C# généré (je me souviens même plus quel schéma c'etait)

mais ce que je cherche c'est carrement une classe .. mieux qui contient une méthode que l'on appelle en passant ce dont il a besoin pour générer un DataSet typé
j'ai vu qu'il y avait une classe TypeddatasetGenerator dans le namespace System.Data je ne sais pas si cela fait ce que je voudrais :p ?

merci
++

Se poser les bonnes questions ;) 
apporter les réponses
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
3
Merci
Bon j'ai une premiere version j'utilise TypedDataSetGenerator de  System.Data.Design (System.Design.dll) finalement car l'autre est obsolete (quoique c'est quasiment la même chose)

mais actuellment cela ne me génére que le fichier Designer.cs et pas le schéma xsd correpondant donc le dataset typé est incomplet !! une idée ?

si je réussis je ferais peut etre un petit code snippet pour codyx :)

public

void Generate(
string path,
string Namespace){

DataSet dataSet =
new
DataSet();
dataSet.ReadXml(path);

CodeDomProvider codeDomProvider =
new
CSharpCodeProvider();

CodeNamespace codeNamespace =
new
CodeNamespace(Namespace);

using (
TextWriter textWriter =
new
StreamWriter(
Path.ChangeExtension(path,
".Designer.cs"),
false,
Encoding.Default))
{
System.Data.Design.
TypedDataSetGenerator.Generate(dataSet, codeNamespace, codeDomProvider);
codeDomProvider.GenerateCodeFromNamespace(codeNamespace, textWriter,
null);
}
}

Se poser les bonnes questions ;) 
apporter les réponses

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de romagny13
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
3
Merci
Bon en utilisant  simplement

dataSet.WriteXmlSchema(

Path.ChangeExtension(path,
".xsd"));

ca passe à peu pret

je vais voir s'il y a pas moyen d'arranger tout ca

Se poser les bonnes questions ;) 
apporter les réponses

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de romagny13
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
0
Merci
Bon dites moi si vous etes interessés par un snippet sur codyx sans cela hop :p

Se poser les bonnes questions ;) 
apporter les réponses
Commenter la réponse de romagny13
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
0
Merci
Bah si ça peut servir à qqn, un snippet peut toujours valoir la peine

<hr />
-Blog-
Commenter la réponse de cs_Bidou
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
0
Merci
Salut
sauriez vous ou on peut trouver le schema xsd correspondant au dataset ?
(namespace xmlns:msdata="
urn:schemas-microsoft-com:xml-msdata")

en fait le DataSet typé à utiliser pour le web n'est pas le même (il dispose de methodes delete,insert tout a fait pratiques pour se brancher dessus depuis les datasources)

++

Se poser les bonnes questions ;) 
apporter les réponses
Commenter la réponse de romagny13
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
0
Merci
arf j'ai peut etre trouver en ouvrant dans visual studio en mode "texte" un dataset (le xml)
visual studio repere l'ensemble des schemas du document xml

Se poser les bonnes questions ;) 
apporter les réponses
Commenter la réponse de romagny13

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.