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