2015-02-13 7 views
0

Я обновил свой класс данных саги, добавив еще одно свойство DateTime, и все ушло в ад. Схема не была обновлена, и я начал получать исключения из каждого сообщения саги, но у меня не было важных данных, поэтому я удалил таблицу.NServiceBus AzureSagaPervistence schema issue

С тех пор, таблица саги данных создаются так: enter image description here

Нет полей из класса Saga данных не присутствует в схеме.

Вот мой сага класс данных:

public class ModuleAliveSagaData : ContainSagaData 
{ 
    [Unique] 
    public string ModuleId { get; set; } 
    public string Endpoint { get; set; } 
    public string Module { get; set; } 
    public DateTime LastCheck { get; set; } 
    public DateTime LastWarning { get; set; } 
    public bool Warning { get; set; } 
    public bool Error { get; set; } 
} 

Что случилось там? Прежде чем я удалил таблицу данных саги, это было прекрасно.

Обновление: я удалил второе поле DateTime из своего класса данных, снова удалил таблицу и начал работать. Почему это может быть?

ответ

1

Какое исключение вы получили?

PS: Лазурное хранилище не имеет схемы, поэтому, пока вы не помещаете какие-либо данные в поле datetime, это поле не существует.

Я предполагаю, что исключение произошло из-за того, что у вас были существующие записи в таблице без свойства datetime, в то время как для свойства datetime требуются данные. Не могли бы вы попробовать с DateTime? тип собственности?

PS: лазурная сага стойкая бактерия не поддерживает [Уникальную] атрибут либо, если вам нужно уникальность по свойствам лучше взять другую стойкую бактерию

+0

я проверю исключение. У меня нет проблем с одним полем DateTime, но он падает, когда у меня есть два поля DateTime. –