Entity Framework 6을 사용하여 동적 MySQL 연결을 설정하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-07 20:40:03
원래의
349명이 탐색했습니다.

How to Establish a Dynamic MySQL Connection with Entity Framework 6?

Entity Framework 6을 사용한 동적 MySQL 연결

Entity Framework 6을 사용하여 동적 데이터베이스 이름에 연결하려면 몇 가지 고려 사항이 필요합니다.

MySQL 호환성 얻기

  • MySQL .Net Connector 6.8.1을 설치합니다.
  • Mysql.Data.dll 및 Mysql.Data.Entity.EF6을 참조하세요. dll.
  • Web.config에 연결 문자열과 공급자를 포함합니다:
<connectionStrings>
  <add name="mysqlCon" connectionString="Server=localhost;Database={0};Uid=username;Pwd=password" providerName="MySql.Data.MySqlClient" />
</connectionStrings>

<entityFramework>
  <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>
</entityFramework>
로그인 후 복사

동적 데이터베이스 연결

  • 생성 데이터베이스 이름에 대한 자리 표시자를 사용하여 연결 문자열을 작성하는 도우미 메서드:
public static string GetConnectionString(string dbName)
{
    var connString = ConfigurationManager.ConnectionStrings["mysqlCon"].ConnectionString.ToString();
    return String.Format(connString, dbName);
}
로그인 후 복사
  • ApplicationDbContext 클래스 수정:
public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext(string dbName) : base(GetConnectionString(dbName))
    {
    }
}
로그인 후 복사
  • 사용법:
ApplicationDbContext db = new ApplicationDbContext("dbName");
로그인 후 복사

참고: 데이터베이스 마이그레이션을 사용하는 경우 시드 메서드에 데이터베이스 이름을 전달하는 팩토리 클래스를 추가하세요.

public class MigrationsContextFactory : IDbContextFactory<ApplicationDbContext>
{
    public ApplicationDbContext Create()
    {
        return new ApplicationDbContext("developmentdb");
    }
}
로그인 후 복사

위 내용은 Entity Framework 6을 사용하여 동적 MySQL 연결을 설정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!