- 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();
kerman 23.04.2016 10:14 # 0
bormand 23.04.2016 10:22 # +2
kerman 23.04.2016 22:36 # 0
это же айдишник. Если он не уникальный, тогда он не айдишник... Впрочем, ещё путает наименование, обычно ShitId означает ссылку на айди.
bormand 23.04.2016 22:41 # 0
Не факт. Если в базе констрейнта на уникальность нету - я бы не был так уверен...
Ну и RuleId может быть просто ссылкой на primary key другой таблицы (в которой он таки уникален).
kerman 23.04.2016 23:27 # +1
да при чём тут констрейнт? В уникальности глубинный смысл айдишника - по нему можно объект однозначно идентифицировать!
>> путает наименование, обычно ShitId означает ссылку на айди
> Ну и RuleId может быть просто ссылкой на primary key другой таблицы (в которой он таки уникален)
Например CurrencyPriceRules... oh shi...
kegdan 23.04.2016 23:15 # +1
Эх. хоть как то пытаюсь оправдать...
kerman 23.04.2016 23:32 # 0
Because I can, that's why.
kegdan 23.04.2016 23:34 # 0
kerman 23.04.2016 23:46 # 0
bormand 23.04.2016 23:38 # 0
> oldPriceRule
Что-то в этом есть...
kerman 23.04.2016 23:44 # 0
kegdan 23.04.2016 23:48 # +1
Только вот он не учел, что линк выполняется во время обращения к переменной запроса для получения самых актуальных данных
Irdis 25.04.2016 16:36 # +2
к слову, если таких (в rules которые r.RuleId == postData.RuleId) больше одного, то эта конструкция начнет ругаться эксепшенами. Поэтому сортировка не имеет никакого смысла. Что бы пофиксить это используют FirstOrDefault.
kerman 25.04.2016 18:30 # 0