Планируете использовать PostgreSQL с ASP.NET: плохая идея? - PullRequest
10 голосов
/ 25 сентября 2008

В настоящее время я планирую инфраструктуру для моего будущего веб-проекта. Я хочу пойти по пути Джоэла, имея одну БД на клиента и теперь думая, какой механизм БД будет для меня полезен. Лучше всего, конечно, SQL Server, но я не могу позволить себе полноценную версию на данный момент, и я не думаю, что SQL Server Express будет хорошим выбором для загруженной службы. Теперь я думаю об использовании PostgreSQL вместо этого. Учитывая, что моей средой разработки будет ASP.NET 3.5, скажем, NHibernate или LINQ to SQL, какие у меня будут проблемы, если я использую PostgreSQL вместо SQL Server?

Спасибо!

Ответы [ 5 ]

11 голосов
/ 25 сентября 2008

NHibernate нормально работает с PostgreSQL (независимо от того, находится ли база данных в Windows или UNIX-подобных ОС), и .NET хорошо работает с ним, используя провайдер базы данных Npgsql.

Единственная «неприятность», которую вы получите, конечно, PostgreSQL не поддерживает T-SQL. На самом деле его язык хранимых процедур PL / pgSQL ближе к PL / SQL Oracle, чем к T-SQL MS SQL Server. Таким образом, вам придется перекодировать ваши хранимые процессы, и у вас будет несколько проблем, на которые стоит обратить внимание, если вы сделаете ADO.NET. Если вы используете NHibernate, вам, вероятно, не придется беспокоиться об этом. Нет LINQ to SQL, так что вам жаль.

PostgreSQL является масштабируемым и теперь работает нормально с Windows (более ранние версии не поддерживали Windows формально), и pgAdmin - хороший инструмент для управления, вы сможете делать большую часть того, что вы можете делать с SQL Server. Инструменты GUI с ним в короткие сроки.

4 голосов
/ 25 сентября 2008

Не думаю, что это плохая идея, но отличный опыт.

Кстати, NHibernate - это путь, по которому Linq отправляется в Nhibernate. Он находится в стадии разработки и доступен в багажнике, так что, если вам не безразлично Linq, не бойтесь его использовать. *

3 голосов
/ 25 сентября 2008

Почему бы не начать с SQL Server Express и не мигрировать, когда у вас есть деньги? Таким образом вы сможете двигаться к тому, что считаете идеальным, и сократить расходы на конверсию.

1 голос
/ 25 июля 2015

В наши дни postgres работает очень быстро с .net, и это так же хорошо или даже лучше, чем проприетарная mssql

1 голос
/ 25 сентября 2008

Если вы используете PostgreSQL, вы не сможете использовать LINQ to SQL. В настоящее время LINQ работает только с SQL Server (возможно, Oracle). Я не уверен насчет NHibernate. Кроме того, если вы используете PostgreSQL, в прошлый раз, когда я проверял, они перестали поддерживать Windows. Таким образом, вы будете искать второй бокс под управлением Linux для БД.

[EDIT]

Оказывается, PostgreSQL поддерживается в Windows. Я не могу вспомнить, где я видел отмену поддержки. В любом случае, я слышал, что в любом случае он работает лучше в Linux, так что вы, возможно, захотите заняться этим независимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...