Я действительно заинтересован в использовании SubSonic, я загрузил его, и я наслаждаюсь этим до сих пор, но, глядя на активность в github и googlegroups, он не кажется очень активным и очень похож на проект, который умирает. Там нет видео об этом на tekpub, и Роб, похоже, использует nHibernate для всех своих проектов в эти дни. Я не хочу сосредотачиваться на изучении SubSonic и интеграции его в мои проекты, если он не будет жить намного дольше. Итак, мой вопрос заключается в том, что происходит с дозвуковым развитием, есть ли новый выпуск, неизбежный, происходит много за кулисами или он неактивен, как кажется?
Является ли SubSonic умирающим
Ответ 1
Я получаю этот вопрос, кажется, если я не появляюсь релиз каждые 2 месяца или около того. Я признаю, что я отстаю от получения 3.0.0.4 в дверь - но там есть исправленный код, который люди отправляют без тестов, и я не соглашусь с этим - я бы предпочел потратить свое время и убедиться, что мы не нажимаем (что я, по-видимому, сделал с 3.0.0.3).
В любом случае - это правильный вопрос, и нет, SubSonic не "умирает". Лучшее место для просмотра деятельности - на самом сайте Github: http://github.com/subsonic/
Это одна из основных причин, по которой я выбрал Github, чтобы люди могли видеть активность. Я просто втянул ряд изменений и ожидаю, когда кто-нибудь изменит настройки (возникли конфликты слияния).
RE Ваши другие вопросы: Нет, я не использую NHibernate для своей работы. Я использую его для Kona и screencast. Я отвечаю только на все письма, которые я получаю из группы, но да, GoogleGroups - это грустная вещь, когда дело доходит до обрезки спама. Лучше всего просто отправить список групп по электронной почте для ответа на вопрос - он получит довольно быстрый ответ.
В терминах "смерти" - мне нужно немного поговорить об этом. Проекты с открытым исходным кодом неспособны умереть, если они родились в форме вдохновения, и люди считают это полезным. Оба они относятся к SubSonic. Даже если я сдался и сказал всем, чтобы кто-то ушел, кто-то подхватил его и побежал. Мне нужно работать, как и большинство людей, и мне нужно подогнать SubSonic в небольшое количество свободного времени, которое у меня есть между работой и семьей. Но я не позволю этому умереть - это слишком много для меня.
В любом случае - я уверен, что вернусь сюда через 6 месяцев, снова отвечу на этот вопрос:).
Ответ 2
Я подозреваю, что с тех пор в это время года люди находятся в отпуске и отдыхе, поэтому поддержка здесь снижается. Я только начал использовать его, и у havent были ответы на некоторые вопросы, и последний релиз был в июле, поэтому я надеюсь, что поддержка будет продолжена.
Ответ 3
Я должен заявить, что, хотя каждый раз, когда не было новой версии каждые два месяца, как Роб заявил, что иногда вы можете почувствовать это чувство. Хотя в google group и github по-прежнему действуют действия. Если что-либо до Рождества было больше свежих лиц, начинающих делать взносы, чем раньше (даже простые, такие как doco), это показывает мне, что может быть больше интереса, чем когда-либо, его просто, что люди продолжают с ним.
Моя работа использует Subsonic (как 2.2, так и 3.0.0.3) в большинстве проектов, где мы контролируем ее. У нас около 28.net-разработчиков, и они все любят его (мы не дотягиваемся до того, чего он не может сделать, поскольку его доступ к ORM/данным по данным не существует.
Поскольку мы используем Subsonic для инструмента запросов низкого уровня, а не как уровень доступа к данным, который я использую, мы не слишком тесно связаны с ним, если нам нужно поручиться на него, но у нас еще есть причина.
Моя точка зрения такова: она действительно очень проста в использовании, легко подбирается, легко модифицируется, легкий вес querytool/ORM (в меньшей степени). Есть несколько инструментов, которые обладают всеми этими свойствами и не блокируют вас в миллион школах мысли о вещах. Из-за этого я не вижу, чтобы он умирал в ближайшее время - его слишком увлекательный инструмент, который можно было бы найти на ремне вашей биты.
Я активный буй-веер и SubSonic Rocksorz My Sockorz!
Из-за этого я рекомендую SubSonic многим людям и буду продолжать. Хотя мы не используем его по чрезвычайно крупным проектам (больше для целей непрерывности проекта, как вы упомянули, чем из-за того, что он не может выполнить эту работу)
Ответ 4
Ну.
Я не знаю, как прогрессирует дозвуковое. Я начал использовать дозвуковые с 2007 года, до перехода на subsonic3, мне было очень удобно с subnoic2. он стабилен и предсказуем. Но с subonic3, даже 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();
Я вижу, сколько бы "where" я хочу искать, он возвращает только первый, хуже того,
//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;
Он построил другое ограничение из предыдущего, но все "условие" отбросит в последнем. Как это правильно?
Я не слишком разбираюсь в дозвуковом исходном коде и не понимаю, как он хорошо реализован. Но я использую subonic3 в своем проекте и очень сильно зависеть от его работы. Надеемся, что каждая ошибка может быть проверена и исправлена вовремя.