ASP.NET 3.5 без Microsoft SQL Server - что я теряю?

Мне только что было поручено создать CMS с использованием ASP.net 3.5 и MySQL. Я как бы новичок в разработке ASP.NET (вполне достаточно с C#) и Мне интересно, какие основные функции ASP.NET и .NET я теряю, когда у меня нет возможности использовать Microsoft SQL Server.

Я уже знаю из быстрого поиска в Google, что я теряю LINQ (и я действительно с нетерпением ждал возможности использовать его для создания своего слоя модели!), Но я не уверен, какие еще полезные функции я потеряю. Поскольку я полагался на учебные пособия по ASP.net, в которых предполагается, что вы используете MS SQL Server, я чувствую, что часть моих знаний по ASP.net просто недействительна.

Спасибо!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
892
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вы можете использовать MySql в ряде ORM, одним из которых является NHibernate. По большей части вы можете относиться к нему так, как если бы вы работали на SQL Server или Oracle. А с Linq2NHibernate вы можете получить хороший синтаксис LINQ.

Вы потеряете элемент управления SqlDataSource, но некоторые будут утверждать, что это действительно будет благословением :)

И, конечно, вы потеряете Linq2SQL. Вскоре после выпуска EntityFramework будет иметь сторонние адаптеры MySql, Oracle и некоторые другие.

Я согласен, что вы действительно ничего не теряете, если не используете MSSQL. .NET больше, чем просто MSSQL. У вас по-прежнему есть все функции и элементы управления AJAX с ASP.NET.

David Basarab 09.09.2008 06:26

Некоторые вещи, которые приходят в голову:

  • asp.net имеет красивую "автоматическую" систему управления (аутентификации) пользователей. Я думаю, что это работает только с SQL Server, но может быть способ заставить его работать с другими БД. В учебниках обычно предполагается, что SQL Server (или встроенная база данных на основе файлов для разработки)
  • Не связанный с asp.net, но полезный для любого проекта - это SQLCLR, который я считаю отличным дополнением к sql server. Позволяет делегировать логику, которую вы пишете на бизнес-уровне (поддержка dll или классов), на сервер sql в от SP, но SP записывается в vb.net/c#
  • Службы уведомлений

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

Greg 24.09.2008 06:20
Ответ принят как подходящий

Вы не теряете LINQ, вы теряете LINQtoSQL. Сам LINQ является более общим, поскольку его можно использовать во всем, что реализует iQueryable.

Вы теряете SqlDataSource, ничего страшного.

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

Что касается меня, вы не потеряете ничего очень важного, и вы не должны терять свои знания о .net. В большинстве примеров по умолчанию используется сервер sql, но их можно легко изменить для использования другой базы данных.

Также существует несколько пакетов .net CMS с открытым исходным кодом, которые используют MySql, взгляните на Cuyahoga

Замечание на полях. Вы не потеряете SqlDataSource. SqlDataSource может поддерживать любого поставщика, если у него есть поставщик, который есть в MySql. В настоящее время я использую SqlDataSource с поставщиком FireBirdSql для проекта, над которым я работаю.

BinaryMisfit 24.09.2008 12:00

В результате потери служб уведомлений вы также теряете SqlCacheDependency

Другие вопросы по теме