Модульное тестирование с усилием для структуры сущностей 6 с вычисленными значениями
Использование усилия EF6 с кодом сначала не заполняет вычисленные значения. У меня есть поле даты и времени (FechaCreacion), которое вычисляется. Как я могу эмулировать его в Effort, чтобы он заполнялся DateTime.Now после saveChanges()?
Этот пост Использование моего усилия (EF Testing Tool) с вычисляемым столбцом - это DB First вместо Code First в качестве моего примера, но, похоже, тоже без ответа.
EffortConnection connection = (EffortConnection)DbConnectionFactory.CreateTransient();
using (var c = new ControlConfigContext(connection))
{
c.Database.CreateIfNotExists();
CambioRepositoryTestLoadData.Load(c);
string direccionMac = "FFFF";
var repo = new CambioRepository(c);
var primerConcesionarioTerminal = repo.GetPrimerConcesionarioTerminal(direccionMac);
Assert.AreEqual("terminal1", primerConcesionarioTerminal.Terminal);
}
Это значение вычисляется в SQLServer как GetDate()
this.Property(t => t.FechaCreacion).HasColumnName("FechaCreacion").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
В SQL Server работает хорошо, но при использовании Effort в модульном тестировании поле получает пустое значение даты.
1 ответ
Эта проблема исправлена в последнем обновлении.
Вы должны установить глобальный EntityFrameworkEffortManager.UseDefaultForNotNullable
пометить как правда.
Это может показаться проблемой с усилием. Я открыл вопрос на их сайте github: https://github.com/tamasflamich/effort/issues/62