私が参加した開発者のグループは、Entity Frameworkを使用していませんが、私はそれを使用しても問題ありません。現在、彼らの接続文字列がweb.config
(またはapp.config
)に格納されている環境ごとに複数の接続文字列を使用する単一のDbContext
<add name="LH_RPMDB"
connectionString="data source=localhostdb;Database=dbsim;user id=sim;password=sim;Application Name=SIM-LH;"
providerName="System.Data.SqlClient" />
<add name="DEV_RPMDB"
connectionString="data source=devdb;Database=dbsim;user id=sim;password=sim;Application Name=SIM-dev;"
providerName="System.Data.SqlClient" />
<add name="QA_RPMDB"
connectionString="data source=qadb;Database=dbsim;user id=sim;password=sim;Application Name=SIM-qa;"
providerName="System.Data.SqlClient" />
今、彼らはlocalhostのLH
を使用するように私に言っている、その後、上側の環境では、彼らはDEV
とQA
に沿って分類されます。
私がチームに新しいサーバーのURLを「検出」しているかどうかはわかりません。私はちょうど適切なデータベース接続文字列を消費するために私のDbContext
を取得しようとしています。
現在、私はちょうど1つの接続文字列で1 DbContext
を持っているので、
public class RPMContext : DbContext
しかし、私は「彼ら」は、このようなコードを使用していることを参照してください。
ws.Url = ConfigurationSettings.AppSettings(ConfigurationSettings.AppSettings("Environment") + "_SNTRAX")
しかし、私が活用したいと思っています単一のDbContext
を持つすべての環境のいくつかの接続文字列。私はこの一例を示しているいくつかのコードweb.config
<connectionStrings>
<add name="DefaultConnection"
connectionString ...
が、その後
public TrackerContext() : base("Name=DefaultConnection") {}
私が見ていた別の例では、ここで
public partial class HOLDbEntities
{
public HOLDbEntities(string connectionString)
: base(connectionString)
で見つけ
は、私が見ていたstackoverflowの記事で、それは本当に私がどこになりたいかに私を得ることはありません
Entity Framework - using the same DbContext with different connection strings
何が欲しいですか?まあ、app.config
(このアプリケーションではweb.config
をコンソールアプリケーションとして使用していない)のすべての環境接続文字列を持つ必要があることはわかっています。私にはわからない何
はややダミーの証明と私は考えているだけで「自動的に 『仕事』
であることを、私はアプリケーションの中だということを何環境を知る方法であること、それをURLを読んだが、実際にコンソールアプリケーションですので、サーバーの環境に応じて、 "LH"と "DEV"と "QA"を使用する接続文字列を変更しappettingを変更する必要があるかどうかをご確認ください。
考え?
実際の問題は何ですか? 'ConfigurationSettings.AppSettings(" Environment ")は環境を教えてくれませんか?それはあなたがすでに正しい接続文字列を取得する方法を知っているようですね! – usr
'ConfigurationSettings.AppSettings(" Environment ")'のコード行はこの他のプロジェクトのものです。私はDbContextファイルでそれを使う方法を知りたいと思います。 –
新しいHOLDbEntities(ConfigurationSettings.AppSettings( "Environment")+ ...) 'できませんか?コンテキスト.csファイルを変更する必要はありません。 – usr