gpt4 book ai didi

c# - 是否可以通过 Dapper 删除+创建模式?

转载 作者:行者123 更新时间:2023-11-29 11:15:22 25 4
gpt4 key购买 nike

我想通过 Dapper 在 MySQL 中删除并创建一个数据库,如下所示:

public class GenericSqlExecutionRepository
{
private IDbConnection _db;

public void RecreateDb()
{
_db.Execute("DROP DATABASE IF EXISTS `my_db`;");
_db.Execute("CREATE DATABASE `my_db`;");
}
}

删除数据库工作得很好,但是当尝试执行创建数据库时:

"Unknown database 'my_db'"

at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at MySql.Data.MySqlClient.NativeDriver.ReadOk(Boolean read) at MySql.Data.MySqlClient.NativeDriver.SetDatabase(String dbName) at MySql.Data.MySqlClient.Driver.SetDatabase(String dbName) at MySql.Data.MySqlClient.MySqlConnection.ChangeDatabase(String databaseName) at MySql.Data.MySqlClient.MySqlConnection.Open() at Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action'2 paramReader) at Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command) at Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable'1 commandTimeout, Nullable'1 commandType)

当然,我的 IDbConnection 绑定(bind)到单个数据库(在连接字符串中指定)。那么:是否可以绕过这个问题并通过 Dapper 进行 drop+create ?

<小时/>

其他信息

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"/>

最佳答案

看起来只需从连接字符串中删除 Database=my_db;,Dapper 就可以了:

<add name="myDbId" connectionString="Server=localhost;Port=3306;User=yyyyyyy;Password=zzzzzzz;Convert Zero Datetime=True;Compress=True;" providerName="System.Data.SqlClient"/>

现在两个查询都可以工作。

关于c# - 是否可以通过 Dapper 删除+创建模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39848025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com