Dokonuję migracji istniejącej aplikacji sieci Web (przy użyciu Entity Framework 5) do roli sieci Web Azure.Struktura obiektu DbContext w usłudze internetowej Azure
Ciąg połączenia z bazą danych jest przenoszony z web.config
do plików ServiceConfiguration.*.cscfg
.
Problem polega na tym, że w auto generowanychModel.Context.cs
pliku , moja klasa podmiotów jest określona następująco:
public partial class MyEntities : DbContext
{
public MyEntities()
: base("name=MyEntities")
{ }
// DbSets, etc
}
To zawsze będzie szukać MyEntities
w web.config
. Jak mogę przesłonić ten konstruktor, aby móc przekazać ciąg połączenia z pliku ServiceConfiguration.*.cscfg
?
mogę czerpać z tej klasy, tak jak poniżej:
public class MyCloudEntities : MyEntities
{
public MyCloudEntities()
: base(CloudConfigurationManager.GetSetting("MyEntities"))
{ }
}
Ale potem muszę zmienić każdą konkretyzacji MyEntities
w bazie kodów oraz przyzwyczajenie zapobiec deweloperów z użyciem MyEntities
w przyszłości.
Dlaczego chcesz przechowywać łańcuch połączeń w błękitnym pliku konfiguracyjnym? Czy kiedykolwiek będziesz musiał zmienić łańcuch połączeń w czasie wykonywania? – Fore
Nie, ale ciąg połączenia różni się w zależności od środowiska. – davenewza