L'exécution d'un script SQL stockées en tant que ressource
Je voudrais stocker longues .les scripts sql dans ma solution et de les exécuter par programmation. Je l'ai déjà compris comment exécuter une chaîne de caractères contenant mon script sql mais je n'ai pas compris comment faire pour lire la chaîne de caractères à partir d'un fichier qui est stocké dans la solution (en vertu d'un /Scripts par exemple).
Il n'y est une réponse détaillée sur les ressources incorporées dans une double question stackoverflow.com/questions/23301964/...
OriginalL'auteur Yann Semet | 2009-09-04
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, modifier le .sql propriétés du fichier de sorte qu'il sera intégré en tant que ressource.
Alors utiliser un code similaire à celui-ci pour récupérer le script:
les ressources sont une mauvaise solution, à mon humble avis. Il ne semble pas être un moyen de modifier le XML généré des commentaires et résumés comme recherche une chaîne localisée semblable à créer une table dbo.Foo ( ... ne sont guère utiles.
OriginalL'auteur Av Pinzur
Ajouter les fichiers SQL à votre projet puis créer un nouveau fichier de ressources. Ouvrir le fichier SQL et sélectionnez "Fichiers" dans le coin supérieur gauche de la liste déroulante (la valeur par défaut est de Chaînes de caractères). Puis appuyez sur ajouter des ressources et accédez à/sélectionnez le fichier SQL. Cela vous permet d'obtenir SQL à partir de la ressource de fichier sans perdre votre type de sécurité:
Ci-dessus est le processus dans Visual Studio 2010. J'ai aussi écrit à ce sujet sur mon blog.
Vous devriez être en mesure d'utiliser
string.Format
pour cela.Ajouter à resrouces, et de définir un fichier de Ressources, dans le code, écrire l'espace de NOMS.Les propriétés.Les ressources.ScriptDB.ToString()
Pour les paramètres, voir ma réponse. QueryFirst détecter les paramètres utilisés dans votre SQL, récupérer leur type de la DB, de les déclarer comme des variables locales dans un des commentaires de l'article de sorte que vous pouvez essayer d'exécuter votre requête dans la fenêtre de l'éditeur, puis de générer le paramètre code de chargement. Vos paramètres pop comme tapé arguments d'entrée à l'généré Execute() méthodes. (Exécuter, ExecuteScalar, GetOne). Le droit devient alors le moyen le plus facile, et dans le mauvais sens (concaténation) devient impossible 🙂
OriginalL'auteur Daniel Imms
Ajouter un fichier à la Ressources, et un fichier de jeu de Ressources, dans le code d'écriture:
OriginalL'auteur Darlan Dieterich
Utilisation QueryFirst. Vous mettez votre sql .modèle sql fournies par l'outil. En coulisses, QueryFirst compile des ressources et des fils de l'appel à la récupérer au moment de l'exécution. Vous avez seulement besoin de s'inquiéter à propos de l'appel de Execute() sur le wrapper de classe, et les résultats sont accessibles via généré POCOs. Fin pour fin de sécurité de type. Ne jamais avoir à se souvenir d'un nom de colonne ou de type de données, plus les avantages considérables d'avoir votre sql où dieu... dans un .fichier sql.
avertissement: j'ai écrit QueryFirst
OriginalL'auteur bbsimonbb