programing

ASP.NET Entity Framework 데이터베이스 이름 가져오기

kingscode 2022. 10. 1. 21:10
반응형

ASP.NET Entity Framework 데이터베이스 이름 가져오기

ASP를 만들었습니다.다음 튜토리얼을 사용하여 MySQL을 사용하는 NET EF 응용 프로그램: http://www.asp.net/identity/overview/getting-started/aspnet-identity-using-mysql-storage-with-an-entityframework-mysql-provider 작동하지만 다음 스니펫에서 MySqlInitializer 클래스에서 하드코드된 데이터베이스 이름(myDatabaseName이라고 함)을 설정하고 싶지 않습니다.

var migrationHistoryTableExists = ((IObjectContextAdapter)context).ObjectContext.ExecuteStoreQuery<int>(
        string.Format(
          "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = '{0}' AND table_name = '__MigrationHistory'",
          "myDatabaseName"));

데이터베이스 이름을 MySqlInitializer에 두 번째가 아닌 connection-string에만 저장할 수 있도록 DbContext에서 데이터베이스 이름을 동적으로 가져오는 방법을 찾고 있습니다.그러나 DbContext나 DbContext의 Database-Attribute에서 이름에 대한 속성을 찾을 수 없습니다.

EF Core를 사용하는 사용자는 이를 대체할 수 있습니다.

var databaseName = context.Database.GetDbConnection().Database

이것으로 충분할 겁니다.

string databaseName = context.Database.Connection.Database;

언급URL : https://stackoverflow.com/questions/31505384/asp-net-entityframework-get-database-name

반응형