Używam Entity Framework 4 w moim projekcie. Ramowa stworzył swój własny ciąg połączenia, więc moja web.config
connectionStrings sekcja plik wygląda następujące:Entity Framework - nadmiarowy ciąg połączenia
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=localhost;user id=user;pwd=pass;initial catalog=VNK" providerName="System.Data.SqlClient" />
<add name="VNKEntities" connectionString="metadata=res://*/VNKModel.csdl|res://*/VNKModel.ssdl|res://*/VNKModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=localhost;Initial Catalog=VNK;User ID=user;Password=pass;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
Pierwszy ciąg połączenia nazywane ApplicationServices
jest mój oryginalny. Drugi, o nazwie VNKEntities
został utworzony podczas generowania modelu.
Po sprawdzeniu wygenerowany * .edmx plik, stwierdziliśmy, że ten model jest odniesienie jej ciąg połączenia, który znajduje się poniżej:
/// <summary>
/// Initializes a new VNKEntities object using the connection string found in the 'VNKEntities' section of the application configuration file.
/// </summary>
public VNKEntities() : base("name=VNKEntities", "VNKEntities")
{
this.ContextOptions.LazyLoadingEnabled = true;
OnContextCreated();
}
Moje pytanie brzmi jak mogę pozbyć się VNKEntities
ciąg połączenia i pozostaw tylko ApplicationServices
, do którego będę odwoływać się z mojego modelu? Chciałbym mieć tylko jeden ciąg połączenia z bazą danych, ponieważ używam tylko jednej bazy danych (zastąpienie parametru konstruktora od name=VNKEntities
do name=ApplicationServices
nie działa).
Pozdrowienia
Dzięki za szczegółowe wyjaśnienie, które pomogło mi zrozumieć, dlaczego powinienem wybrać rozwiązanie podane przez @ gandjustas dla rozwiązania mojego problemu. – jwaliszko