AsyncQuery с postgresql и dapper с использованием npqsql

async-await c#-4.0 dapper npgsql postgresql

Вопрос

Я пытался использовать dapper orm, и недавно они добавили поддержку asyncquery. Я обдумал это. Это замечательно, если у вас есть интенсивное движение на вашем сайте. Я пытался это с postgressql и dapper. Теперь, когда я прохожу простую строку подключения, она работает нормально. Но в соответствии с двумя статьями это не так, async, если я хочу использовать его, мне нужна строка асинхронного соединения.

Теперь я не знаю, как использовать Postgresql и npgsql. Вот полная статья для справки, где автор объясняет, как это сделать с Sql Server.

Что мне нужно сделать, если я хочу, чтобы он был с Postgresql?

Пожалуйста, дайте мне знать, требуется ли какое-либо дальнейшее требование.

Принятый ответ

Автор этой статьи несколько ошибочен - в .NET 4.5 свойство AsynchronousProcessing игнорируется, потому что оно больше не требуется. Вы можете просто вызвать методы Async для SqlClient без каких-либо специальных строк подключения.

Будут ли операции выполняться асинхронно, зависит от поставщика базы данных. Например, стандартная реализация DbCommand.ExecuteDbDataReaderAsync фактически выполняется синхронно и блокирует вызывающий поток. SqlCommand переопределяет этот метод и выполняет асинхронно.

К сожалению, NpgsqlCommand не переопределяет этот метод, поэтому вы остаетесь только с синхронным исполнением.



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему