SubSonic умирает - PullRequest
       26

SubSonic умирает

10 голосов
/ 10 января 2010

Я действительно заинтересован в использовании SubSonic, я скачал его и пока наслаждаюсь им, но, глядя на активность на github и googlegroups, кажется, что она не очень активна и выглядит как проект, который умирает. На tekpub нет видео об этом, и Роб, похоже, использует nHibernate для всех своих проектов в эти дни. Я не хочу сосредотачиваться на изучении SubSonic и интеграции его в мои проекты, если он не будет жить намного дольше. Таким образом, мой вопрос: что происходит с дозвуковой разработкой, скоро ли выйдет новый релиз, много ли происходит за кулисами или он настолько неактивен, как кажется?

Ответы [ 4 ]

22 голосов
/ 10 января 2010

Кажется, я получаю этот вопрос, если я не выпускаю релиз каждые 2 месяца или около того. Я признаю, что отстаю от работы над выпуском 3.0.0.4 - но есть некоторый исправленный код, который люди отправляют без тестов, и я не приму это - я предпочел бы не торопиться и делать конечно, мы не выдвигаем ошибок (что я, очевидно, сделал с 3.0.0.3).

В любом случае - это правильный вопрос, и нет, SubSonic не «умирает». Лучшее место, чтобы увидеть это действие на самом сайте Github: http://github.com/subsonic/

Это одна из главных причин, по которой я выбрал Github, чтобы люди могли видеть активность. Я только что внес ряд изменений и жду последнего изменения (были конфликты слияния).

RE другие ваши очки: Нет, я не использую NHibernate для своей работы. Я использую это для Kona и скринкаста. Я отвечаю почти на все письма, которые я получаю от группы, но да, GoogleGroups - это грустная вещь, когда дело доходит до удаления спама. Лучше всего отправлять вопросы по электронной почте в список групп, и на него очень быстро ответят.

В терминах "смерти" - мне нужно немного поговорить об этом. Проекты с открытым исходным кодом не могут умереть, если они родились в порыве вдохновения, и люди находят это полезным. Оба верны SubSonic. Даже если бы я сдался и велел всем уйти, кто-то взял бы это и побежал с этим. Мне действительно нужно работать, как и большинству людей, и я должен приспособить SubSonic к небольшому количеству свободного времени, которое у меня есть между работой и семьей. Но я никак не мог позволить этому умереть - это слишком много значит для меня.

В любом случае - я уверен, что через 6 месяцев я вернусь сюда снова и снова отвечу на этот вопрос:).

1 голос
/ 10 января 2010

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

0 голосов
/ 15 января 2010

Хорошо.

Я не знаю, как прогрессирует дозвуковой. Я начал использовать subsonic с 2007 года, до обновления до subsonic3 мне было довольно удобно с subnoic2. это стабильно и предсказуемо. Но с subsonic3 даже 3.0.0.3. Это несколько разочаровало меня. Я не хочу упоминать функции, которые работают. Благодарю. Таблица звуковых карт правильно. Я хочу поговорить об «Обновлении». Я пытался с кодом, но он дал исключение. После того, как копаться в коде, он подписывает ...

Посмотрите на мой код:

FarmDB db = new FarmDB();
                db.Update<UserAdornment>().Set(o => o.is_working == false)
                            .Where(o => o.user_name == HttpContext.Current.User.Identity.Name && o.type == userAdornment.type && o.id != userAdornment.id).Execute();

Это правильно?

После исправления NullReferenceException кто-то спросил, что я тоже страдал. Каждый раз, когда я запускаю этот запрос, все мои строки с user_name=currentname устанавливаются is_working на false. После проверенного кода: В update.cs

public Update<T> Where(Expression<Func<T, bool>> column)
{
    LambdaExpression lamda = column;
    Constraint c = lamda.ParseConstraint();

И отметьте lamda.ParseConstraint(); Я вижу, сколько бы «где» я не хотел искать, он возвращает только первое, хуже после него,

//IColumn col = tbl.GetColumnByPropertyName(c.ColumnName);
//Constraint con = new Constraint(c.Condition, col.Name, col.QualifiedName, col.Name);
//con.ParameterName = col.PropertyName;
//con.ParameterValue = c.ParameterValue;

Он построил еще одно ограничение из предыдущего, но отбросил все «условия» в последнем. Как это может быть правильно?

Я не слишком внимательно изучаю исходный код subsonic и не понимаю, как он реализован хорошо. Но я использую subsonic3 в своем проекте и очень надеюсь, что он будет работать правильно. Очень надеюсь, что каждая ошибка может быть проверена и исправлена ​​вовремя.

0 голосов
/ 14 января 2010

Я должен заявить, что, хотя каждые два месяца не выпускается новый релиз, Роб сказал, что иногда вы можете испытывать это чувство. Хотя на google group и github все еще есть действие. Если что-то перед рождеством было больше новых лиц, которые начали вносить свой вклад, чем раньше (даже простые, такие как doco), это показывает мне, что может быть больше интереса, чем когда-либо, просто люди продолжают с этим.

В моей работе Subsonic (как 2.2, так и 3.0.0.3) используется в большинстве проектов, где мы имеем над ним контроль. У нас около 28 разработчиков .net, и все они любят это (мы не увлечены тем, что он не может сделать, так как это не ORM / доступ к данным, как таковой.

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

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

Я являюсь активным поклонником записи и SubSonic Rocksorz My Sockorz!

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

...