Gewusst wie: hinzufügen von entity framework 6 provider im code?

Benutze ich Entity Framework 6 in einer C# - Anwendung und es funktioniert perfekt. Bei der Erstellung des Modells, die app.config generiert wird, mit allen notwendigen Konfiguration. Nun ich mag es nicht Sachen in der app.config, damit ich den connection string-generator. Ich habe es geschafft, entfernen Sie alles aus der app.config-Datei, außer dieser:

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
</entityFramework>

Wenn ich diese entfernen, funktioniert es nicht. Also, wie kann ich übersetzen, dass die config in c# - code?
Wie Mach ich das? Ich habe die code-basierte Konfiguration (http://msdn.microsoft.com/en-us/data/jj680699) aber es hat nicht geholfen.

Meine partial-Klasse erstellt die connection-string sieht so aus:

public partial class LogEntities
    {
        public LogEntities(string serverName)
            : base(GetConnectionString(serverName))
        {
        }

        public static string GetConnectionString(string serverName)
        {
            //Specify the provider name, server and database.
            const string databaseName = "_LOG";

            //Initialize the connection string builder for the underlying provider.
            SqlConnectionStringBuilder sqlBuilder = new SqlConnectionStringBuilder
            {
                DataSource = serverName,
                InitialCatalog = databaseName,
                IntegratedSecurity = true,
                MultipleActiveResultSets = true
            };

            //Initialize the EntityConnectionStringBuilder.
            System.Data.EntityClient.EntityConnectionStringBuilder entityBuilder = new System.Data.EntityClient.EntityConnectionStringBuilder();
            entityBuilder.Provider = "System.Data.SqlClient";

            //Set the provider-specific connection string.
            entityBuilder.ProviderConnectionString = sqlBuilder.ToString();

            //Set the Metadata location.
            entityBuilder.Metadata = @"res://*/myproject.LogModel.csdl|res://*/myproject.LogModel.ssdl|res://*/myproject.LogModel.msl";

            return entityBuilder.ConnectionString;
        }
    }

Vielen Dank im Voraus für jede Hilfe.

  • Die Antwort ist in dem link, den Sie
InformationsquelleAutor Flave | 2013-11-06
Schreibe einen Kommentar