J'ai la possibilité de choisir entre le stockage de données local (fichier xml) ou SQL Server. J'ai déjà créé il y a longtemps un ensemble de données typé pour mon application pour enregistrer des données locales dans le fichier xml.C# Adaptateur de données SQL Remplissage d'un jeu de données typé existant
Maintenant, j'ai un bool qui change entre la version basée sur le serveur et la version locale. Si vrai mon application obtient les données à partir du SQL Server.
Je ne suis pas sûr, mais il semble que la méthode de remplissage de Sql adaptateur ne peut pas remplir les données dans mon schéma existant
SqlCommand cmd = new SqlCommand("Select * FROM dbo.Categories WHERE CatUserId = 1", _connection);
cmd.CommandType = CommandType.Text;
_sqlAdapter = new SqlDataAdapter(cmd);
_sqlAdapter.TableMappings.Add("Categories", "dbo.Categories");
_sqlAdapter.Fill(Program.Dataset);
Cela devrait remplir mes données de dbo.Categories aux catégories (dans mon local, jeu de données typé). mais ce n'est pas le cas. Il crée une nouvelle table avec le nom "Table". Il semble qu'il ne peut pas gérer le schéma existant.
Je n'arrive pas à comprendre. Où est le problème?
btw. bien sûr, la demande de base de données que je fais n'est pas très utile de cette façon. C'est juste une version simplifiée pour tester ...
Le problème est, j'ai déjà un schéma de données existant. Mais les tables ont d'autres noms que les tables de la base de données sql. J'ai donc essayé de faire en sorte que la base de données sql de TableMapping corresponde au schéma du jeu de données local. Ne me demandez pas, pourquoi c'est comme ça. Mais je pense qu'il devrait y avoir un travail autour au lieu de renommer les tables sur le serveur. –
@Rene - Je ne suggérais pas que vous deviez renommer les tables. Avez-vous vérifié le 2ème lien dans ma réponse? Peu importe que les noms de table dans la base de données SQL aient des noms différents pour les DataTables dans votre DataSet. Voir la figure 1 dans le 2ème lien que j'ai donné – AdaTheDev
Ah, ok, désolé, votre droite. Je dois tester ça. 3èmes liens sympas. J'espère que cela fonctionne également avec les noms de colonnes. C'est une solution de contournement, mais cela ne résout pas le problème que j'ai avec l'utilisation de TableMapping. Mais c'est une solution. Je vais essayer ça. –