Dans un projet API Web, la possibilité de modifier la connexion de contexte de données basée sur l'entrée de l'utilisateur est généralement nécessaire. Dans ce cas, la chaîne de connexion doit être dynamique et réglable.
pour créer la chaîne de connexion, sqlConnectionStringBuilder
et entityConnectionStringBuilder
] sont utilisées. sqlConnectionStringBuilder
configure les paramètres de connexion SQL, tandis que entityConnectionStringBuilder
définit les détails de connexion du cadre d'entité.
Pour modifier la connexion du contexte de données, vous pouvez utiliser une méthode d'extension appelée changéaTabase
. Cette méthode accepte les paramètres facultatifs qui spécifient les nouveaux détails de la base de données et le nom de la chaîne de connexion s'il est différent du nom de la classe EF de base.
à l'intérieur de la méthode changolatabase
, la entityConnectionStringBuilder
est initialisée avec une chaîne de connexion existante. Ensuite, créez un sqlConnectionStringBuilder
et remplissez-le avec les paramètres spécifiés. Enfin, la chaîne de connexion modifiée est définie sur la chaîne de connexion de contexte de données.
Dans un projet API Web, la chaîne de connexion est généralement définie pendant la connexion de l'utilisateur et doit persister pendant l'interaction de l'utilisateur. Pour la persistance, les chaînes de connexion peuvent être stockées dans des variables de session, des caches au niveau de l'application ou des référentiels de persistance.
En utilisant la méthode d'extension changéaTabase
et en implémentant la persistance de la chaîne de connexion, vous pouvez modifier dynamiquement les connexions de framework entité à l'exécution en fonction de la sélection de l'utilisateur.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3