« first day (268 days earlier)      last day (3052 days later) » 
00:00 - 11:0011:00 - 00:00

12:25 AM
@Qwertiy через пару дней можно удалить спокойно, я думаю
@Qwertiy не стоит только сразу, это исключает возможность ответить автору, чтобы он понял хоть где находится
 
 
5 hours later…
4:57 AM
@Discord а я видел столько срачей на эту тему, что Ваши слова вызывают у меня сомнения. Слишком уж яростны табофилы, чтобы просто сдаться. Кроме того, если не ошибаюсь, по умолчанию студия вставляет именно табы, а не пробелы, что добавляет в копилку нерешенности этого вопроса.
 
@ixSci В студии почти везде пробелы. По-моему, табы по умолчанию настроены только для текстовых файлов ("other" или типа того).
 
Спешу еще раз напомнить, что было бы здорово собрать отзывы о сообществе в [ответах на Мете](http://meta.ru.stackoverflow.com/questions/1985/). Ребята, пожалуйста, расскажите про ваш опыт!
// cc @Vlad, @PashaPash @Qwertiy, @ЮрийСПб, @Etki, @AndreyBakharev, @alexanderbarakin, @Nofate (извиняюсь, если кого-то не упомянул).
 
@Discord ну может быть, не могу всё равно проверить, у меня давно всё перенастроено
 
5:32 AM
@ixSci В студии есть сохранение, загрузка и сброс настроек. ;)
 
@Discord Доброе утро. а сможет подсказать про IComparer?
 
@Bald56rus Доброе. Что-что?
 
@Discord про реализацию интерфейса IComparer интерфейс для сравнения объектов ссылочного типа. :)
 
@Bald56rus Да спрашивайте уже.
 
@Discord там есть метод Compare если объекты равны то надо вернуть 0, а что вернуть в случае неравенства? -1, 1?
 
5:45 AM
@Bald56rus Там в табличке под заголовком "Возвращаемое значение" все три варианта описаны. Чёрным по белому. По-русски. Ну, в меру по-русски.
 
:26421593

public class Operation
{
	public string Property1 {get;set;}
	public string Property2 {get;set;}
	public int Property3 {get;set;}
}

public OperationComparer : IComparer<Operation>
{
	public int Compare(Operation x, Operation y)
	{
		if(x.Property1==y.Property1
		&&x.Property2==y.Property2
		&&x.Property3==y.Property3)
		{
			return 0;
		}
		else
		{
			return 1; //or -1
		}
	}
}
@Discord прошу прощения если Вам вопрос кажется глуппым. в приведенной ссылке не сказано что возвращать в таком случае.
 
@Bald56rus Чем вас LINQ не удовлетворил?
 
имеете ввиду следующую конструкцию?

var operationIsExist = context.Operation
.Where()
.Where()
.Where()
.Any();
 
@Bald56rus Имею в виду OrderBy/ThenBy.
 
@Discord мне нужна не сортировка, мне нужна уникальность. т.е. не допустить появления дубликатов
@Discord я так понимаю не тот интерфейс взял
 
6:00 AM
@Bald56rus Можно перегрузить GetHashCode и Equals, по вкусу реализовать IEquatable.
 
@Discord я показал как проверял наличие дубликатов‌​, мне получается надо сравнить не два объекта, а наличие объекта в списке. решение у меня есть но ведь можно сделать лучше. счас попробую погуглить как это делают большие пацаны. если пнете в нужную сторону буду премного благодарен :)
блин ведь наверно можно написать так

bool isExist = context.Operations.Where(x=>x.Equals(operation)).Any();

@Discord спасибо за подсказку
 
6:21 AM
@Bald56rus Кстати о компарерах. Специально для вас инструкция:
0
Q: Как реализовать IComparer<T> для сравнения нескольких свойств?

DiscordПоложим, есть следуюший класс: class Operation { public string Foo { get; set; } public string Bar { get; set; } public int Baz { get; set; } } Я хочу реализовать компарер IComparer<T>. Код получается такой: class OperationComparer : IComparer<Operation> { public int Compare(O...

Что-то не нашёл готового примера на сайте, пришлось писать.
@Bald56rus Реализуйте GetHashCode и Equals, опционально IEquatable. Далее либо Enumerable.Distinct, либо HashSet.
 
@Discord спасибо
 
6:45 AM
кстати, по поводу CLion на Java: а у них особо был выбор? Видимо Qt в компании никто не знает, пилить интерфейс на родном для ОС API — дорого. Что остаётся?
 
@Discord как оказалось не только для меня :)
 
@Bald56rus Ага. И шапка приплыла. :)
 
@Discord, проверил студию 2013 на отдельной машине(там нет плагинов и настройки по умолчанию) стоит keep tabs для С++
для шарпа стоят пробелы
 
@Discord счас я еще вопросик оформлю:) Посмотрел Ваш профиль. Красиво у Вас украсили город
 
@ixSci Глянул. Похоже, табы по умолчанию для C++, PowerShell, Plain text, SQL, XOML (WTF?).
@Bald56rus Что? Где?
 
6:56 AM
@Discord я про Казань, у меня там друг, фотки постил
 
@Bald56rus А. :)
 
8
A: Как проверить существование записи в MySQL?

Ilya Pirogovif (mysql_query('DROP TABLE table')) { echo "Да, такая таблица действительно была..."; } Прошу прощения, не удержался :)

какой нехороший совет, какие злые люди были в 2011 году
 
@Bald56rus совет хороший, люди добрые, они просто не любят so-driven development и учат других людей тому, что надо думать головой и понимать что ты делаешь, а не тупо копипастить фиг знает что
 
@AndreyBakharev копипаст конечно зло, но учить так... это все таки перебор, IMHO конечно. там для полноты картины ответ еще принять и все :)
 
7:14 AM
@AndreyBakharev видимо они не преуспевают. Я за свою недолгую карьеру уже всякого навидался. Полные копии решения тех или иных моментов с SO, codeproject и других популярных ресурсов
даже форматирование сохраняется исходное
и даже не понятно, смеяться или плакать
а как-то один индус-менеджер, с помпой представил новую систему(систематизацию) работы git в команде. Представил её менеджменту и разработчикам
мне хватило 5 секунд, чтобы понять, это же git-flow. Он даже картинки взял исходные
всё это было выдано за собственную разработку, разумеется
 
ну он просто решил не заморачиваться, все уже украдено придумано за нас
 
@Bald56rus и я с этим согласен, только не надо выдавать это за своё детище
 
@ixSci ну что его наградили?
 
@Bald56rus понятия не имею, я ушёл от них. Я не могу с индусами работать
 
@ixSci я полностью Вас поддерживаю, индус в иносказательном или прямом смысле ?
 
7:19 AM
@Bald56rus в прямом
я работал на Американскую компанию, а через пару месяцев, после моего туда устройства, их купили индийцы
еще 3-4 месяца шёл переходный процесс, пока меня не окружили индусы
 
@ixSci Я так понимаю, в обоих. :)
 
и я сдался
 
@ixSci а я думал такое возможно только в России. а оказывается дело в культуре а не нации
 
@Bald56rus нет, дело в человеке. На мой взгляд, культура и нация тут не причём
мудаки везде одинаковые
 
я же так понимаю вопрос касательно выявления дубликата в бд с метками [c#],[entity-framework], [linq], [sql] будет воспринят сообществом отрицательно?
 
7:29 AM
@Bald56rus а как ef с sql вяжется? Если конечно не идёт разговор о том, какой конкретно запрос генерирует ef
 
@ixSci ну возможна метка [sql] избыточна. как при помощи указанных выше технологий выявить дубликаты.
 
linq.where.count > 1?
 
@ixSci where().Any() тогда уж
 
может дубликаты лучше исключить заранее, чем потом их находить?
 
@ixSci вопрос скорее несет образовательный характер
@ixSci если честно я сам знаю ответ и даже несколько вариантов
 
7:33 AM
@Bald56rus нет, я не правильно написал, any тут тоже не поможет
@Bald56rus тогда в чём проблема? Публикуйте!
мне в голову приходит distinct с последующим except. Но это как-то громоздко
 
Тут драма:
-3
A: WEB API-REST (php)

StarkLДля тех, кто не учил в школе, могучий Русский язык: Сложный вопрос, может состоять из нескольких простых. "Nick Volynkin" - не обижайтесь только, я не со зла а что бы вы поняли как правильно интерпретировать правила сообщества. МОЙ ответ на пункт 3: Если строите большое и серьезное API, то ст...

 
@NickVolynkin неужели я оскорбила его религиозные чувства?
 
@NicolasChabanovsky тут пишут: «Это Русскоязычное сообщество, которое попадает под закон о СМИ». А что, разве попадает?
@merletta привет. Религиозные - вряд ли
просто бывают такие люди, заходят на сайт
 
@NickVolynkin Я что-то пропустил?
 
@NicolasChabanovsky драма по ссылке выше
пожалуйста не баньте до поры, пробую вразумить )
 
7:47 AM
@NickVolynkin Спасибо, уже сомтрю
 
Привет всем!
 
@merletta процентов 10 что поймёт, 90% что будет эскалация неадеквата ))
 
@NickVolynkin в России всё что угодно попадает под любой закон, когда это нужно.
кстати, он упорно всё связанное с Россией пишет с большой буквы и ещё кого-то русскому языку учит :)
 
@ixSci кого-то он мне напоминает, но я упорно не могу вспомнить, кого
@merletta добро пожаловать )
@merletta вы вроде на сайте недавно, а в правилах хорошо разобрались )
 
@NickVolynkin На мой взгляд, это троль.
 
7:51 AM
@NickVolynkin homo idiotus ordinarius
 
@ixSci вспомнил!
Вот кого:
Я в подобном тоне не намерен с Вами общаться. Кто бы Вы там ни были, но Ваши инсинуации Выглядят довольно жалко. На самом деле Вы просто мелко мстите мне за то, что я не дал отпор Вашим попыткам затроллить ресурс. — behemothus Dec 7 at 12:21
@NicolasChabanovsky ну и в пекло его тогда
 
@NickVolynkin Каюсь, не доходят руки до Русского языка.
 
@NickVolynkin тут скорее описка
 
Надо бы там порядок навести, конечно. В старые добрые времена на нем по 12 вопросов задавалось в легкую.
 
@ixSci я скорее про общий настрой
@ixSci но вот этот StarkL конечно куда менее адекватен
 
7:55 AM
@NickVolynkin ну это весьма типично, в общем-то. Я бы не сказал, что его пассажи чем-то выделяются на фоне других
 
behemothus-то хоть отвечает нормально
@ixSci вот на ruSO выделяются
я как-то привык уже, что у нас довольно вежливо люди общаются
@ixSci был бы вконтактик, я бы значения не придал такого )
 
0
Q: Как в Windows отследить активность программы?

StackКак в Windows отследить активность программы? Возможно ли узнать какие файлы и ветки системного реестра программа читает или меняет?

Stack активно наполняет базу знаний :)
 
@Bald56rus И это здорово!)
 
@NicolasChabanovsky может, назначить там pro-tempore из активных и адекватных?
Или тех, кто у нас займет на выборах места с 4 по 6. Уж наши кандидаты там наведут порядок.
 
@Bald56rus системное администрирование - это онтопик, так что вроде бы ок
 
8:03 AM
@NickVolynkin Не так все просто. На мой взгляд, в сообществе действуют свои правила, которые поддерживаются настоящими лидерами. Выборы модераторов в этом случае ничего не исправят. Необходимо несколько месяцев очень активно быть частью сообщества, чтобы изменить тренд.
 
Я представляю шок филолога, который начинает вопрос с «Здравствуйте, уважаемые форумчане», а ему alexander barakin через 5 секунд хоп! — и вырезает приветствие
@NicolasChabanovsky то есть какая-то внутренняя модерация там всё-таки есть?
 
@Abyx я на оборот рад, в свое время пакет Sysinternals мне очень помог, он тогда еще не принадлежал Microsoft. я плюсанул и вопрос и ответ
 
@NickVolynkin Вот решим проблему Яндекса, и сразу буду спрашивать все, что не знаю по русскому (что-то мне подсказывает, что это гораздо больше чем по программированию)
 
@Bald56rus да, у меня Process Explorer тоже вызывает теплые ассоциации
 
@NickVolynkin Скорее разъяснительные диалоги в комментариях.
 
8:05 AM
@NicolasChabanovsky и что, помогает?
 
@NickVolynkin Наверное да, конфликтов в сообществе не так много, а если и есть, то происходят они по инициативе отдельных участников.
Но сам сайт отходит от первоначальной идеи.
 
7
A: Удалить дубликаты из List<T>

PashaPashСкорее всего DB это класс, в котором не переопределен Equals/GetHashCode. По умолчанию эквивалентными считаются те ссылки, которые указывают на один и тот же объект. Возможные решения: Переопределите Equals так, чтобы он сравнивал два экземпляра по свойствам. Не забудьте при этом переопредели...

 
@NicolasChabanovsky и к чему движется?
 
@Bald56rus IEqualityComparer<T> вам нужен
 
@PashaPash добрый день. Что с ответом?
 
8:07 AM
@NickVolynkin Не до конца понимаю вопрос.
 
@NicolasChabanovsky сайт отходит от первоначальной идеи — куда отходит, в каком направлении?
 
@NickVolynkin все хорошо с ним - @Bald56rus тут в чате то же самое спрашивал недавно
 
@NickVolynkin В направлении форума.
 
@PashaPash а, ясно
 
Для форума важно общение ради общения. На сайте вопросов и ответов – ради знаний.
 
8:09 AM
@PashaPash ну почти. я счас дооформлю вопрос ответ, а там как решит сообщество
 
@NicolasChabanovsky это вроде бы не очень хорошо для сайта сети SE
 
@NickVolynkin Знания?
Или общение ради общения?
 
@NicolasChabanovsky нет, когда сайт концентрируется на общении ради общения
 
Да, совершенно верно! Надо общаться с ребятами из сообщества.
 
@NicolasChabanovsky что то я потерялся, что не так с сообществом? плохо это или хорошо :)
 
8:12 AM
@Suvitruf глядите-ка, первый вопрос по puppet ) ru.stackoverflow.com/q/477800/181472
@Bald56rus мы про Русский Язык
 
@NickVolynkin аааа
 
@Bald56rus там у них сложилось автономное децентрализованное самоуправление )
 
@NickVolynkin А у нас тоже стало модно вырезать приветствие?
 
@tutankhamun модно? )
@tutankhamun вообще, давно обсуждали, что оно не имеет особой ценности
@tutankhamun но про Александра — это ирония
15
Q: Приветствия, подписи, мольбы, благодарности, лирические отступления, истории из жизни

DiscordИсходное обсуждение на Meta.StackOverflow.com: Should I remove 'fluff' when editing questions? При обсуждении вопроса как поступать с текстом, напрямую не относящимся к обсуждению, на Stack Overflow на английском пришли к консенсусу: никакого избыточного текста в вопросах быть не должно. При ре...

 
8:15 AM
@tutankhamun ну насколько я знаю оно не приветствуется, и помоему вырезается только в случае значительных правок
 
Я видимо пропустил. То, что не имеет ценности написано в правилах
 
@Discord зачем <!-- language-all: lang-html --> тут? meta.ru.stackoverflow.com/a/984/181472
 
@Bald56rus да, так делают все, кроме Александра. Он режет приветствие отовсюду подряд
 
@NickVolynkin чтобы <!-- Заголовок оригинального вопроса --> было серым
 
Утро доброе. Я правильно понимаю, что все кто сейчас лидирует по голосованию в модераторы, живут в московском часов поясе?
 
8:20 AM
Тэкс. Перечитал. Я там даже поучаствовал когда-то. Но я просто не очень понял каков в целом настрой. 1) резать все приветствия как только заметил 2) если все остальное в порядке - приветствия не трогать 3) вообще приветствия не трогать
 
@PashaPash ну это же подходит под незначительную правку, если идет вразрез с рекомендациями, может стоит настоятельно рекомендовать так не делать :)
 
@Nofate а был он каким?
@Vartlok ну я на третьем месте и я в Новосибирске
 
@NickVolynkin :-D а пояс - московский
 
@Bald56rus незначительные правки сомнительны, если их для их внесения нужен аппрув
 
@NickVolynkin о, это гуд =)
 
8:23 AM
@Vartlok а PashaPash второй и в Минске. Это вроде тоже не МСК
@Grundy а пояс у меня черный, кожаный
 
@Bald56rus а если хватает репутации для правки без аппрува - то все ок
 
@NickVolynkin разница в 1-2 часа значения не имеет
 
@NickVolynkin что не мешает ему быть московским ;-)
 
@Grundy почти наверняка он китайский )
 
@Vartlok дискриминация по часовым поясам?
 
8:25 AM
@PashaPash модераторы будут посменно работать
 
а я посередине(почти) между москвой и новосибом :)
 
@PashaPash сутки через двое
 
1
Q: Когда Дух удаляет свежие вопросы?

QwertiyКак подсчитать количество слов в строке? Вопрос удалён Духом Сообщества через 12 часов после того, как был задан. Насколько я помню, в описании речь шла о полугоде или годе в зависимости от рейтинга. По какой причине вопросы могут удаляться так быстро? PS: Да и вообще, не вижу причин удалять эт...

 
@Bald56rus по какой середине, ближней или дальней?
 
@PashaPash думаю было бы хорошо, если хотя бы один из модераторов имел часовой пояс за +-10 от московского, а то набегут всякие, пока все спят
 
8:26 AM
@NickVolynkin Самара, т.е. Повольжье, мне и туда далеко и туда далеко :) часовой пояс москва +1 :)
 
@Vartlok имеет значение также режим дня
@Vartlok и вряд ли ночью много набегает, хотя стоит спросить.
 
@NickVolynkin сравните до и после:
 
@Nofate @NicolasChabanovsky скажите, есть ли зависимость набегания спамеров от времени суток?
 
@NickVolynkin так могут целенаправленно набегать, когда никто не накажет, думаете во Владивостоке нет школьников?)
 
@Nofate ага, ясно
 
8:27 AM
@NickVolynkin не ощущаю
 
@Vartlok ну пользователи с кнопкой «тревога-спам» тоже есть во Владивостоке
 
@NickVolynkin Ни разу не анализировал, если честно.
 
@NickVolynkin но неадекват к сессии усиливается
 
В общем, от случайных хулиганов сообщество может отбиться силами участников, если они адекватно тревоги ставят
а от целенаправленного набега и трем модераторам сразу может быть сложно
 
@NickVolynkin но может не быть модератора, который прикроет это быстрее, чем наберется нужное количество голосов
 
8:29 AM
если там применят какую-нибудь автоматизацию
@Vartlok 6 тревог «спам» всего-то
 
что требования к модераторам ужесточаются теперь еще обязатально быть в разных часовых поясах (раньше надо было знать только препроцессор для css) :)
 
@Bald56rus у нас аудитория в основном сконцентрирована вокруг MCК.
 
@NickVolynkin ну я безусловно в плюсе :)
 
@Bald56rus ну хоть какому-то требованию я удовлетворяю
@ЮрийСПб вы в каком поясе часовом девок кадрите?
 
@NickVolynkin с учетом плотности населения у нас, боюсь 6 иногда может и не набраться) но это всё теория, на практики, видимо проблем пока не было и хорошо
 
8:32 AM
@NickVolynkin Вот сегодня мне казалось, что Петр и StarkL - одно лицо. Хотя у второго - почта с временного регистратора. @NicolasChabanovsky, вы можете IP проверить? (я не могу - статистика не накоплена).
 
@Nofate вроде стиль общения разный
@Nofate хотя, может это от настроения зависит
 
0
A: Когда Дух удаляет свежие вопросы?

PashaPashСкорее догадка: Топикастер удалил вопрос сам. Т.к. вопрос задан с анонимного аккаунта - то вместо пользователя отображается Community.

 
0
Q: Разработка web сайтов на html+php+js или ASP.NET?

ПётрПодскажите пожалуйста, как предпочтителнее, какие есть плюсы и минусы, что сейчас в тренде - разработка web сайтов на html+php+js или ASP.NET?

java даже не вспомнили
 
@PashaPash ну речь про "сайты" )
 
@PashaPash ну и хорошо
кстати, а почему этот вопрос еще не закрыт?
 
8:42 AM
@Nofate на джаве можно делать сайты - jsp же
 
@Qwertiy не говорите в приличном обществе про JSP
 
где закрываторы вопросов-опросников?
 
но оно же есть...
 
@Qwertiy сейчас нет причин пользоваться JSP
 
@Vartlok испугались и спятались до конца выборов)))
@Nofate а чем есть? а то я не в курсе. но все джависты-вебщики вроде пользуются
 
8:45 AM
@Qwertiy не-не-не ) есть куча шаблонизаторов. Сейчас в тренде Thymeleaf
 
@Nofate а я думал вы скажите, что UI надо писать на AngularJS =)
 
@Vartlok мы же про "сайтики" )
@Vartlok и мне пока понравился React
@Vartlok правда прикручивание его в билд пайплайн выглядит бесчеловечно
 
@Nofate что-то развелось фреймворков для UI, надо было всех остановить еще на ExtJS
 
@Vartlok мне идея WebComponents нравится больше, чем готовые контролы в ExtJS
 
@Nofate это вы видимо хорошо знаете CSS, хотя вы ж модератор, говорят это основное требование =) а вот мне каждый раз приходится идти и пинать дизайнера, что бы он превратил эту кучу элементов во что-то нормальное =)
 
8:54 AM
@Vartlok не, я CSS только со словарём (только тссс!). но для таких как мы придумали Bootstrap
 
@Nofate TSSS? это что-то новое? :-D
 
@Vartlok я-то вообще фронтенды пишу на GWT/SmartGWT
@Grundy это мог бы быть TypeScriptStyleSheet )
@Grundy DSL для стилей на ts
 
@Nofate о! почему все кто пишет на GWT так фанатеют от Ваадина?
 
@Nofate почему бы и нет? :-D
 
@Vartlok не, тошнит от ваадина )
@Vartlok там же все ивенты серверные
 
8:56 AM
@Vartlok кто такой Вадин?
 
@Nofo
 
@Grundy UI-фреймворк поверх GWT с отработкой UI-событий на сервере
 
@Nofate везде где мне предлагали использовать GWT, говорят, что мы тут уже ваадин юзаем, так что если что ты на него сразу смотри
 
@Vartlok у нас SmartGWT + REST
 
@NickVolynkin ого)
 
9:01 AM
@Nofate Вы не любите кошек ваадин, Вы просто не умеете его готовить :)
@Nofate а кто это такой :) этот загадочный ваадин :)
 
5 mins ago, by Nofate
@Grundy UI-фреймворк поверх GWT с отработкой UI-событий на сервере
 
@Bald56rus мне сама идея не нравится - на каждый чих на сервер лазить. Плюс в SmartGWT - большой мешок контролов из коробки. А в ваадине - скудновато. По виду - на нем только админки для CMS писать.
 
@Nofate понял спасибо, но ввиду того что я жуткий перфикционист мне интерфейса лучше не касаться :)))
 
@Suvitruf DevOps понемногу нарастает )
 
@NickVolynkin медленно, но верно )
 
9:13 AM
0
Q: Как не допустить создания дубликатов в БД

Bald56rusПредположим есть следующий класс, который символизирует таблицу в БД: public class Operation { public string Detail { get; set; } public string Number { get; set; } public int EquipmentId { get; set; } } При создании пользователем данной сущности необходимо информировать о попытке ...

если более опытные коллеги подскажут другие способы был бы очень рад. :)
либо можно даже сделать ответ общим и его дополнить/улучшить :)
и тишина, как перед грозой...
 
@Bald56rus если б речь шла например про MS SQL То можно было б использовать MERGE
 
@Bald56rus по второму варианту: вы проверили - нет такой записи, вставляете - а у вас ошибка, т.к. уже есть такой объект. А почему? А потому что объект был добавлен после начала проверки и перед началом вставки
 
@AndreyBakharev можете предложить как решить? я понимаю что вариант с индексом почти идеален, но если нет возможности изменить бд, то тогда как?!
 
11
Q: How can I use use Entity Framework to do a MERGE when I don't know if the record exists?

Joshua FrankIn this SO answer about Entity Framework and MERGE, the example for how to code it is this: public void SaveOrUpdate(MyEntity entity) { if (entity.Id == 0) { context.MyEntities.AddObject(entity); } else { context.MyEntities.Attach(entity); context.ObjectStateManager.ChangeO...

 
@Bald56rus эта проблема не только здесь, но и везде - так же с файлами, например. Проверка-вставка должна быть атомарной. Чтобы гарантировать это, можно, например, залочить всю таблицу на все время операции, но я бы не стал так делать, тем более у меня есть полный доступ к базе )
 
9:30 AM
@Grundy эта фишка появилась как я понял начиная с 5 версии. тогда надо будет указать версию. сейчас обновлю ответ в соответствии с замечаниями
 
@Bald56rus какая фишка?
 
@Grundy AddOrUpdate()
 
@Bald56rus просто проверки на уровне EF не хватит - по умолчанию всегда read committed, и она просто не увидит уже вставленные, но еще не вкоммитанные строки из другой транзакции
 
@Bald56rus а, возможно :-)
 
@PashaPash второй вариант не идеален плохой, лочить всю таблицу?!
 
9:33 AM
@Bald56rus обычно индекс + проверка + ретрай (если применим)
99% ловит проверка, остальное ловит индекс
@Bald56rus ну или да, лок таблицы (повышением уровня изоляции), но это плохой вариант
 
@PashaPash индекс+проверка конечно хорошо, а вдруг нельзя трогать базу. счас уточню в ответе про возможные ошибки второго варианта
 
@Bald56rus лучше напишите что его нужно использовать только в качестве дополнения к первому, т.к. он не дает 100% гарантии
@Bald56rus иногда оставить только индекс может быть проще и дешевле :)
@Bald56rus и решение c IEqualityComparer - не очень. оно вытянет всю таблицу из базы в приложение
@Bald56rus т.е. оно неприменимо в живых приложениях я бы вместо него через Expression сделал
 
@PashaPash т.е. через дерево выражений формировали мой пример запроса в методе IsExist
 
@Bald56rus а ваш пример или вытянет все в память, или упадет (более вероятно) с фразой что нет мапинга в базу
@Bald56rus я бы лямбду спустил. что-то вроде context.Operation.Contains(newOp)
 
@PashaPash исходя и указанных замечаний проще удалить вовсе второй вариант:) и кратко сослаться что можно сделать так но лучше не стоит:)
 
9:39 AM
Contains(this IQueryable source, newOp) { return source.Where(s => s.Field1 == newOp.Field1 && ....)
 
@PashaPash т.е. оформили метод расширения:)
 
10:00 AM
1
A: Как не допустить создания дубликатов в БД

Bald56rusНаиболее предпочтительным является способ проверки на дубликат средствами самой бд. В Entity Framework это может выглядеть например так: воспользуемся средствами fluent api protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Operation>() .Pro...

поправил в соответствии с замечаниями
@PashaPash кстати а почему Вы накладываете ограничения в одном блоке where ведь можно и написать как сделал я, итог же вроде в данном случае будет одинаков?!
 
10:43 AM
1
Q: Как не допустить создания дубликатов в БД

Bald56rusПредположим есть следующий класс, который символизирует таблицу в БД: public class Operation { public string Detail { get; set; } public string Number { get; set; } public int EquipmentId { get; set; } } При создании пользователем данной сущности необходимо информировать о попытке ...

а что делать с ответами которые дублируют уже существующие и не привносят ничего нового
 
@Bald56rus да, будет одинаковый результат. просто мне так удобнее :)
 
@PashaPash ну я просто уточнил, а то вдруг :)
 
@NickVolynkin Лучше всего получается в (GMT+5) =)
 
@ЮрийСПб да вы конкурент для Nick'a
 
@Vartlok не, на час ближе к МСК, чем Новосиб, да и там я только летом бываю. А так я по московскому живу)
 
10:56 AM
товарищи сишарперы, объясните неофиту, почему foo(object sender, EventArgs) является невалидным кодом, в чём причина требования наличия идентификатора?
 
@ixSci а как вы собираетесь обращаться к EventArgs если не укажете идентификатор? ну и в идеале пример побольше нужно, потому что в некоторых местах, если мне не изменяет память можно опускать идентификаторы
 
@Grundy а я не собираюсь к нему обращаться
 
@ixSci но компилятор то об этом не знает :-) вроде в плюсах тоже самое
 
00:00 - 11:0011:00 - 00:00

« first day (268 days earlier)      last day (3052 days later) »