У меня есть клиент, который хочет приложение ASP.NET MVC.Я разработаю его с помощью VS.NET 2010 Express, покажу его ему на моем сервере Linux во время его разработки (Mono поддерживает ASP.NET MVC), и он в конечном итоге разместит его на коммерческом провайдере, работающем под управлением IIS.
Быстро это сделать - так называется игра.Единственный кусок, который мне здесь не хватает - это слой базы данныхВ идеале я бы использовал SQL CE и EF4.Но SQL CE работает только в Windows, и Mono в любом случае не поддерживает Entity Framework.
Единственный бесплатный вариант Linq to SQL, который я вижу, - это DbLinq.Быстрый тест с этим в базе данных MySQL показал, что он содержит ошибку в таблице с двумя внешними ключами для одного первичного ключа.Поиск в Google показывает, что эта ошибка была обнаружена, и патч был создан примерно два года назад.То, что патч до сих пор не был применен к основному источнику, и что эта ошибка, кажется, влияет на столь распространенный сценарий, не дает мне уверенности в готовности DbLinq к производству.
Даже еслиэто работало, это должно было быть с MySQL, поскольку это единственная база данных, которую я могу ожидать, которая будет доступна как на Linux, так и на возможном сервере Windows.(SQLite, Berkeley DB и т. Д. Потребовали бы, чтобы на сервере были установлены некоторые собственные драйверы, на которые я не могу рассчитывать.)
Я не знаю NHibernate.Но из того, что я прочитал, это требует ручного создания файлов сопоставления XML ... поэтому мне не нужно писать операторы SQL, но мне нужно создавать файлы сопоставления?(Кроме того, мне нужно научиться пользоваться им.) Как я уже говорил выше: сделать это быстро - вот цель.
Если я должен, я просто потрачу 5 долларов в месяц или около того длядешевый хостинг-провайдер ASP.NET и используйте его для демонстрации прогресса клиенту, используя SQL CE и EF4.Но прежде чем я это сделаю, я бы хотел посмотреть, есть ли другие жизнеспособные варианты.(На данный момент это своего рода интеллектуальное упражнение.)
Итак ... есть какие-нибудь советы?