>데이터 베이스 >MySQL 튜토리얼 >MySQL을 사용하여 Entity Framework 6의 동적 데이터베이스 이름에 어떻게 연결합니까?

MySQL을 사용하여 Entity Framework 6의 동적 데이터베이스 이름에 어떻게 연결합니까?

DDD
DDD원래의
2024-11-07 14:36:02423검색

How to Connect to a Dynamic Database Name in Entity Framework 6 with MySQL?

MySQL용 Entity Framework 6의 동적 데이터베이스 연결

Entity Framework 6용 MySQL 구성

Entity Framework 6과 MySQL 간의 연결을 설정하려면, 다음 단계를 따르세요.

  • MySQL 공식 웹사이트에서 MySQL .Net Connector 6.8.1(베타)을 설치하세요.
  • Mysql.Data.dll 및 Mysql.Data.Entity.EF6을 참조하세요. Visual Studio 솔루션에 dll을 추가하세요.
  • 빌드 시 접근성을 위해 이러한 파일을 프로젝트의 bin 디렉터리에 복사하세요.
  • Web.config 파일에 연결 문자열을 추가하여 공급자 이름 특성이 포함되어 있는지 확인하세요. :
<add name="mysqlCon" connectionString="Server=localhost;Database=dbName;Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
  • 내부에 다음 공급자 정보를 추가합니다. Web.config 파일의 노드:
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
    <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
  • 노드를 기본값에서 변경한 경우

동적 데이터베이스 이름에 연결

  • 데이터베이스 이름에 대한 자리 표시자를 포함하도록 Web.config의 연결 문자열을 업데이트하세요. :
<add name="mysqlCon" connectionString="Server=localhost;Database={0};Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
  • ApplicationDbContext 클래스를 다음과 같이 수정합니다.
public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName))
    {
    }

    public static string GetConnectionString(string dbName)
    {
        var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString();
        return String.Format(connString, dbName);
    }
}
  • 끝에 MigrationsContextFactory 클래스를 추가하여 데이터베이스 마이그레이션을 처리합니다. 컨텍스트 클래스:
public class MigrationsContextFactory : IDbContextFactory<ApplicationDbContext>
{
    public ApplicationDbContext Create()
    {
        return new ApplicationDbContext("developmentdb");
    }
}

이를 사용하면 동적 연결 문자열을 엔터티 프레임워크 컨텍스트에 전달할 수 있으므로 계정을 기반으로 여러 개의 동일한 데이터베이스 스키마 간에 쉽게 전환할 수 있습니다.

위 내용은 MySQL을 사용하여 Entity Framework 6의 동적 데이터베이스 이름에 어떻게 연결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.