Pobieranie nazwy bazy z web.configu

Pobieranie nazwy bazy z web.configu
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam.
Mam problem z przeniesieniem nazwy dbcontextu z DbContext do Web.config. Mam taki kod:

Kopiuj
public ApplicationDbContext()
            : base("connectionName")
        {
        }

I w Web.config

Kopiuj
<connectionStrings>
	<add name="connectionName" connectionString="Server=.\SQLEXPRESS;Database=base; MultipleActiveResultSets=True; Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>

I dodam jakiś inny connection string z innej bazy i będzie inna nazwa niż w DbContext to się wysypuje. Czy da się zrobić żeby nazwa była uniwersalna i jak ktoś podmieni connection string z inna nazwą to będzie działać?

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
0
Kopiuj
public ApplicationDbContext(string connectionName)
            : base(connectionName)
        {
        }

a z odczytaniem już sobie poradzisz

  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki za odpowiedź. Ale nie wiem teraz jak to odczytać w Web.configu

abrakadaber
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6610
0

no ale masz bana na google czy jak? https://www.google.pl/search?q=c%23+read+web+config+key

DibbyDum
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Polska, Kraków
0

https://msdn.microsoft.com/en-us/library/jj592674(v=vs.113).aspx#Anchor_2

Kopiuj
public ApplicationDbContext()
            : base("name=connectionName")
        {
        }
  • Rejestracja: dni
  • Ostatnio: dni
0

Dodałem

Kopiuj
<add key="connectionName" value="connectionString"/>

I to mi nie działa. Generalnie chodzi o to by mieć dowolny connection string w configu i by ten connectionString łączył się DbContextem

  • Rejestracja: dni
  • Ostatnio: dni
0

Mam dodane takie coś:

Kopiuj
public ApplicationDbContext(string connectionName)
            : base(connectionName)
        {}

i w configu:

Kopiuj
<connectionStrings>
    <add name="conName" connectionString="Server=.\SQLEXPRESS;Database=base; MultipleActiveResultSets=True; Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

<appSettings>  
    <add key="connectionName" value="conName"/>
</appSettings>  

Dobrze to zrobiłem? Czy powinienem inaczej to dodać? W ten sposób mi nie działa

SO
  • Rejestracja: dni
  • Ostatnio: dni
0

Dobrze, pod warunkiem, że przy tworzeniu DbContextu podasz jako parametr konstruktora ciąg "conName".

Wpis w appSettings nie jest potrzebny.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.