Знайте что отличающиеся работы Xbox.
А Google поднял это:
"Встроенный метод, который смягчает издержки вызова метода. JIT формирует во встроенное, что выполняет следующие условия.
Однако виртуальная функция не формируется во встроенное".
http://xnafever.blogspot.com/2008/07/inline-method-by-xna-on-xbox360.html
я понятия не имею, корректен ли он. Кто-либо?
Временным решением является создание суррогатного ключа (столбец с автоматическим увеличением) в качестве столбца первичного ключа и размещение уникального индекса в составном ключе вашего домена.
Внешние ключи затем будут ссылаться на столбец суррогатного первичного ключа.
Я настоятельно рекомендую использовать суррогатный ключ. Не потому, что он «джанговский». Предположим, вы используете составной ключ, который включает part_number. Что, если через некоторое время ваша компания решит изменить формат (и, следовательно, значения) этого поля? Или вообще любое поле? Вы бы не хотели иметь дело с изменением первичных ключей. Я не знаю, какие преимущества вы видите в использовании составного ключа, который состоит из «реальных» значений, но я считаю, что это не стоит хлопот. Используйте бессмысленные, автоматически увеличивающиеся ключи (и это, вероятно, должно сделать составной ключ бесполезным).
SQLAlchemy поддерживает составные первичные и внешние ключи, поэтому любая основанная на SQLAlchemy структура (на ум приходит Pylons и Werkzeug) должна соответствовать вашим потребностям. Но суррогатный первичный ключ проще в использовании и лучше поддерживается.
Почему бы не добавить нормальный первичный ключ,а затем укажите, что part_number
и part_revision
как unique_topting
?
По сути, это джанговский (джангонский?) способ сделать то, что сказал Митч Уит.