Существует ли современная замена для функций транзакции и объединения от Сервисов предприятия?

tech_lead = models.ForeignKey(User, related_name='tech_lead')

нарушает целостность, потому что ваша база данных уже заполнена Application экземплярами. Если вы хотите добавить ненулевой FK в вашу схему, вам следует указать значение по умолчанию. В противном случае, если вы не можете предоставить значение по умолчанию, вам следует рассмотреть возможность разрешения tech_lead быть НЕДЕЙСТВИТЕЛЬНЫМ, т.е. заполните поле желаемыми значениями:

from django.db import migrations

def populate_tech_lead(apps, schema_editor):
    Application = apps.get_model('yourappname', 'Application')
    for application in Application.objects.all():
        application.tech_lead = application.assessment_owner
        application.save()

class Migration(migrations.Migration):

    dependencies = [
        ('yourappname', '0001_initial'),
    ]

    operations = [
        migrations.RunPython(populate_tech_lead),
    ]

и затем удалите null=True из поля:

tech_lead = models.ForeignKey(User, related_name='tech_lead')

5
задан Ryu 31 March 2009 в 20:31
поделиться

3 ответа

Я не очень знаком с входами и выходами COM +, но WCF был создан для замены его и Сервисы предприятия в платформе.NET. Все варианты использования, которые Вы упоминаете здесь, испеклись в платформу (объединение, транзакции, управление версиями), и в значительной степени тривиальны для кодирования против, пока Вы вставляете время, чтобы изучить, как это хочет сделать вещи. Когда Вы настроили вещи правильно, нет в значительной степени никакого предела тому, что можно сделать с ним.

WCF также подкрепляет многое из того, что Microsoft продолжает работать для непосредственного и долгосрочного будущего (Azure Services). Я считал бы это стоящими инвестициями Вашего приобретения знаний времени, особенно рассматривая Ваше образование COM +.

Я настоятельно рекомендовал бы книгу Juval Lowy как хорошую начальную точку. Он - вероятно, почти столь авторитетная речь, как Вы найдете на этом предмете.

http://oreilly.com/catalog/9780596521301/?CMP=AFC-ak_book&ATT=Programming+WCF+Services%2c+Second+Edition%2c

Я также рекомендовал бы проверить его компанию веб-сайт IDESIGN. Мало того, что они предлагают превосходное обучение, но и у них есть очень полезная библиотека расширений WCF под названием ServiceModelEx, который обеспечивает много служебных классов расширений/помощника, которые делают Вашу жизнь WCF намного легче.

http://www.idesign.net/idesign/DesktopDefault.aspx

При поиске более учебной книги стиля книга Michele Leroux Bustamante также довольно хороша.

7
ответ дан 13 December 2019 в 22:16
поделиться

Если Вы хотите основанные на атрибуте транзакции на компонентах, WCF может сделать это для Вас. Кроме метафоры больше не компоненты как с COM +; это - теперь сервисы в WCF. Тонкий, но важный сдвиг. WCF полагается на ту же транзакционную инфраструктуру (DTC) как COM +.

Если Вы просто хотите COM + в.NET, это - EnterpriseServices - та же модель, все еще должен использовать развертывание DLL и управление версиями. Все еще может получить объединение, и т.д. Может также получить паузу/резюме и некоторые другие новые функции ES.

Если Вы просто хотите транзакционную модель программирования, можно использовать Систему. Пространство имен транзакций.

Что касается пулинга объектов - смотрят дважды. Может стоить вновь исследовать Ваше использование пулов объектов. Несколько лет назад, предположения промышленность, сделанная, или понимание, которое мы имели, w.r.t. стоимость инстанцирования объекта, привела нас к метафоре пула объектов. Сегодня те предположения и соглашения не могут быть допустимыми. Другими словами, пул объектов может или не может быть на самом деле полезен для Вашего приложения. Это находится все еще в ES, но это достойно рассмотрения, нужен ли Вам он.

3
ответ дан 13 December 2019 в 22:16
поделиться

Необходимо смотреть на Сервисы предприятия.

0
ответ дан 13 December 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: