Я экспериментирую с применением кодовых контрактов к своему коду и столкнулся с трудной проблемой.
Этот код не соответствует условиям контракта, но если я не буду слишком толстым, я ожидаю, что он сможет легко проанализировать, что id
должен иметь значение в точке возврата
if (id = = ноль) throw new InvalidOperationException (string.Format («{0} '{1}' еще не имеет идентификатора», typeof (T) .Name, entity)); return id.Value;