- 1
- 2
IEnumerable<SmartCurrencyPriceRule> rules = _smartRuleService.GetCurrencyPriceRules(id).OrderBy(r => r.Title).ThenBy(r => r.Updated).ThenBy(r => r.Created);
var oldPriceRule = rules.SingleOrDefault(r => r.RuleId == postData.RuleId) ?? new SmartCurrencyPriceRule();
это же айдишник. Если он не уникальный, тогда он не айдишник... Впрочем, ещё путает наименование, обычно ShitId означает ссылку на айди.
Не факт. Если в базе констрейнта на уникальность нету - я бы не был так уверен...
Ну и RuleId может быть просто ссылкой на primary key другой таблицы (в которой он таки уникален).
да при чём тут констрейнт? В уникальности глубинный смысл айдишника - по нему можно объект однозначно идентифицировать!
>> путает наименование, обычно ShitId означает ссылку на айди
> Ну и RuleId может быть просто ссылкой на primary key другой таблицы (в которой он таки уникален)
Например CurrencyPriceRules... oh shi...
Эх. хоть как то пытаюсь оправдать...
Because I can, that's why.
> oldPriceRule
Что-то в этом есть...
Только вот он не учел, что линк выполняется во время обращения к переменной запроса для получения самых актуальных данных
к слову, если таких (в rules которые r.RuleId == postData.RuleId) больше одного, то эта конструкция начнет ругаться эксепшенами. Поэтому сортировка не имеет никакого смысла. Что бы пофиксить это используют FirstOrDefault.