Модульное тестирование с усилием для структуры сущностей 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

Другие вопросы по тегам