Dapper гарантирует, что запрос был успешным - PullRequest
1 голос
/ 08 января 2020

Я хочу использовать Dapper в моем проекте WebApi. У меня есть метод для создания базы данных из запроса:

    public async Task<bool> CreateDatabase()
    {
        var connection = _connection.GetOpenConnection();

        bool created = await connection.ExecuteAsync(SqlQuery.CreateDatabase); 
    }

Мой вопрос заключается в том, как написать запрос для создания базы данных и как убедиться, что запрос завершен успешно и какой метод из dapper использовать?

Мой SqlQuery.CreateDatabase выглядит так:

IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = 'DataBase')
  BEGIN
    CREATE DATABASE DataBase
  END

Нужно ли возвращать что-то из запроса?

1 Ответ

2 голосов
/ 08 января 2020

Если возникает проблема, она уже должна быть представлена ​​как исключение - вероятно, SqlException - сообщая вам об этом, поэтому: то, что у вас уже должно быть, должно быть в порядке. Однако обратите внимание, что если ваша строка подключения пытается подключиться к базе данных , которая еще не существует , то Open[Async], скорее всего, завершится ошибкой. В конечном счете, вы можете просто попытаться подключиться к указанной базе данных впоследствии, чтобы быть уверенным, но снова, то, что у вас уже должно быть в порядке .

Обратите внимание, что это часто бывает, что учетные записи приложения не имеет разрешения для создания баз данных. В этом случае вам понадобится администратор базы данных, который создаст для вас базу данных, и сообщит вам детали подключения.

...