ADO.NET Entity Framework: принятие решений между решениями ORM

Для PHP, «всегда безопасно предшествовать не-буквенно-цифровому с« \ », чтобы указать, что он обозначает себя». - http://php.net/manual/en/regexp.reference.escape.php .

За исключением случаев, когда это «или».: /

Чтобы избежать переменных шаблона регулярных выражений (или частичных переменных) в PHP, используйте preg_quote ()

11
задан 3 revs, 2 users 96% 23 February 2010 в 15:09
поделиться

1 ответ

Ну, трех Вы перечислили, NHibernate был вокруг самого длинного. Если Вы хотите работать с чем-то, что имеет успешный опыт работы, это - вероятно, безопасное место для начала.

Это довольно даже через эти четыре метрики (кривая/простота использования масштаба/изучения и производительность), хотя Вы могли бы найти, что существует больше информации, доступной из-за него являющийся вокруг дольше, чем другие два.

LINQ к SQL был выпущен дольше, чем Платформа Объекта, но только работает против ароматов SQL Server. Это работает очень хорошо целевым ORM, но не является многофункциональным как Платформой Объекта (который обеспечивает eSql среди других вещей).

LINQ к SQL довольно легко схватить (в зависимости от Вашего знания LINQ), и позже качество сгенерированных запросов улучшилось (начиная с более ранних бет). Я не уверен, как хорошо это масштабируется или работает, но необходимо было бы думать, что это на одном уровне с рукописным T-SQL среднего разработчика (хорошо теперь, это - дикое предположение!). Это довольно просто, и генерирует очень хорошую модель для Вас в рамках Visual Studio.

Существуют другие (2) альтернативы для поддержки баз данных не-SQL Server

Платформа Объекта является новейшей из трех и в результате все еще имеет некоторые проблемы, которые будут исправлены (надо надеяться, в следующей версии). Это будет работать со многими поставщиками (это не ограничено SQL Server), и имеет дополнительное совершенство, такое как eSQL и (1) наследование Таблицы на тип. Это может быть немного хитро для изучения сначала, но после того как Вы сделали одно или два решения с ним, это становится предсказуемым и легче реализовать.

Из-за него являющийся последним, он возьмет немного больше с точки зрения кривой обучения (также существует больше для изучения), и производительность.. менее, чем желательный (в настоящее время), но это действительно предлагает некоторые интересные преимущества (особенно поддержка нескольких поставщиков).

Я предполагаю, что мой вопрос в ответ - Вы просто оцениваете, или необходимо ли произвести осуществимое (готовое к производству) решение ORM?

Платформа Объекта, вероятно, не довольно готова к серьезной производственной работе (за пределами меньших решений), который оставляет Вас с LINQ к SQL или NHibernate. Если Вы только собираетесь быть работой с базами данных SQL Server, LINQ к SQL является интересной опцией. Иначе NHibernate является, вероятно, лучшим выбором для серьезной работы.

(1) [http://msdn.microsoft.com/en-us/data/cc765425.aspx] (2) [http://www.devart.com/dotconnect/linq.html]

12
ответ дан 3 December 2019 в 09:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: