ODBC или NpgSQL для ASP.NET с использованием PostgreSQL - PullRequest
2 голосов
/ 02 июня 2011

У меня есть проект в ASP.NET с базой данных postgreSQL.Я не знаю, какой тип соединения лучше.С одной стороны, в ODBC у нас есть Server Explorer (перетаскивание gridview), а с другой стороны, это не отдельный прикладной уровень от логического уровня.Пожалуйста, какой тип подключения лучше ODBC или NpgSQL и почему?

Интересует вопрос о моем проекте:

  • Приложение ASP.NET с использованием master.page,
  • база данных PostgreSQLс 18 таблицами и 4 m: n ограничениями (думаю, что это сложно),
  • приложение должно генерировать pdf, xml и т. д ...

1 Ответ

6 голосов
/ 03 июня 2011

В общем, я бы выбрал чистое решение .NET вместо ODBC. Я не знаком ни с одним из этих драйверов для PostgreSQL, поэтому примите этот совет с осторожностью. Вот некоторые «общие» аргументы:

  • Поскольку поставщики данных .NET являются более новой технологией, чем ODBC, они, как правило, будут получать больше внимания и обновлений, чем драйверы ODBC. Это, конечно, может не применяться в этом случае (возможно, за драйвером PostgreSQL ODBC стоит процветающее сообщество разработчиков). Тем не менее, более вероятно, что проблемы, с которыми вы можете столкнуться, будут решаться более своевременно в поставщиках данных .NET.
  • Стек на стороне клиента будет немного меньше, если использовать чистый поставщик данных .NET. Я видел, что Npgsql является чистым решением .NET. Драйвер ODBC, с другой стороны, будет иметь более глубокий стек. Вызов должен проходить через поставщика ODBC .NET, который затем выполняет неуправляемый вызов диспетчера драйверов ODBC, который затем вызывает драйвер ODBC PostgreSQL. Будет ли это на самом деле влиять на производительность, будет зависеть от приложения и использования.
  • Чистый поставщик .NET может быть более эффективным в том смысле, что он обычно написан специально для конкретного сервера базы данных. Напротив, поставщик ODBC .NET должен работать с диспетчером драйверов ODBC и не может делать предположения о серверной части.

Я повторяю, что приведенные выше утверждения являются общими, которые могут не применяться в данном конкретном случае, но, вероятно, заслуживают рассмотрения.

...