I는 다음과 같이 말끔를 통해 드롭와 MySQL의 데이터베이스를 만들 싶습니다Dapper를 사용하여 스키마를 삭제하고 + 만들 수 있습니까?
"알 수없는 데이터베이스 '
public class GenericSqlExecutionRepository { private IDbConnection _db; public void RecreateDb() { _db.Execute("DROP DATABASE IF EXISTS `my_db`;"); _db.Execute("CREATE DATABASE `my_db`;"); } }
드롭 데이터베이스가 잘 작동하지만, 만들 데이터베이스를 실행하려고 갔지 my_db ' "MySql.Data.MySqlClient.NativeDriver.SetDatabase (문자열 DBNAME)에서 MySql.Data.MySqlClient.MySqlStream.ReadPacket() MySql.Data.MySqlClient.NativeDriver.ReadOk에서 (부울 읽기) 에서
Dapper.SqlMapper.ExecuteCommand에서 MySql.Data.MySqlClient.MySqlConnection.Open() 에서 MySql.Data.MySqlClient.MySqlConnection.ChangeDatabase (문자열 databaseName을) 에서 MySql.Data.MySqlClient.Driver.SetDatabase (문자열 DBNAME) 에서Dapper.SqlMapper.Execute (IDbConnection을 CNN, 문자열 SQL, 개체 PARAM, IDbTransaction 거래, Null 허용에 Dapper.SqlMapper.ExecuteImpl (IDbConnection을 CNN, CommandDefinition & 명령) 에서 (IDbConnection을 CNN, CommandDefinition & 명령, Action'2 paramReader) ' 1 CommandTimeout이, Nullable'1 CommandType을) 물론 내의
10은 단일 데이터베이스 (연결 문자열에 지정)에 연결됩니다. 그래서 :이 문제를 우회하여 Dapper를 통해 drop + create를 할 수 있습니까?
추가 INFOS
는 VAR _db
은과 같이 생성됩니다
public static MySqlConnection GetConnection(string connectionStringId)
{
var connectionString = ConfigurationManager.ConnectionStrings[connectionStringId].ConnectionString;
var connection = new MySqlConnection();
connection.ConnectionString = connectionString;
return connection;
}
이 App.config
의 연결 문자열은 :
<add name="myDbId" connectionString="Server=localhost;Port=3306;Database=my_db;User=yyyyyyy;Password=zzzzzzz;Convert Zero Datetime=True;Compress=True;" providerName="System.Data.SqlClient"/>
기본 데이터베이스가 삭제 되었기 때문에 잘못된 연결 개체를 사용하려고 시도했을 때 오류가 발생했다는 오류가 발생했습니다. –