sql >> Databáze >  >> RDS >> Mysql

Jak nastavit připojovací řetězec s Entity Framework

měli byste použít EntityConnectionFactory
Zde je to, co potřebujete.

public string CreateConnectionString(string BasicConnectionString)
{
    //EntityConnectionFactory 
    var entityConnectionStringBuilder= new EntityConnectionStringBuilder();
    entityConnectionStringBuilder.Provider = "Your Provicer here"      //For me it is "System.Data.SqlClient";
    entityConnectionStringBuilder.ProviderConnectionString = BasicConnectionString;
    entityConnectionStringBuilder.Metadata = "res://*";
    return entityConnectionStringBuilder.ToString();
}

Zde je ukázkové použití

MyContext ctx = new MyContext(CreateConnectionString())

::Aktualizace ::

Protože používáte první metodu DB, podívejte se na následující obrázek

jsou-li tyto dva přepínače dostupné, vyberte první. Poté budete moci nastavit připojovací řetězec vašeho modelu.

Takto vypadá můj kontext (ačkoli je to objektový kontext. Ale v kontextu této otázky na tom nezáleží)

public partial class DataContext : ObjectContext
    {
        #region Constructors

        /// <summary>
        /// Initializes a new DataContext object using the connection string found in the 'DataContext' section of the application configuration file.
        /// </summary>
        public DataContext() : base("name=DataContext", "DataContext")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        /// <summary>
        /// Initialize a new DataContext object.
        /// </summary>
        public DataContext(string connectionString) : base(connectionString, "DataContext")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        /// <summary>
        /// Initialize a new DataContext object.
        /// </summary>
        public DataContext(EntityConnection connection) : base(connection, "DataContext")
        {
            this.ContextOptions.LazyLoadingEnabled = true;
            OnContextCreated();
        }

        #endregion

        #region Partial Methods

        partial void OnContextCreated();

        #endregion
    ...
    }

Aktualizovat

Přidejte konstruktor, který hledáte, do dílčí třídy mimo automaticky generovanou třídu entity:

public partial class WMSChennaiDEVEntities : DbContext
{
    public WMSChennaiDEVEntities(string connectionstring)
            : base(connectionstring)
    {
    }
}

Tento konstruktor není zahrnut v EF 5/6 zřejmě proto, aby nám zabránil v náhodném předání připojovacího řetězce sql, když je požadován připojovací řetězec entity.



  1. Jak cestovní weby zamykají pokoj?

  2. Jak vytvořit databázový diagram v Accessu

  3. Jak používat SQL Server Funkce T-SQL SUM:5 případů použití

  4. Proč byste neměli zakázat ONLY_FULL_GROUP_BY