計算された値を用いたエンティティフレームワーク6の努力による単体テスト


質問

努力EF6をコードで使用すると、計算された値が入力されません。計算される日時フィールド(FechaCreacion)があります。 Effortでエミュレートするにはどうすればよいですか?それで、SaveChanges()の後にDateTime.Nowが設定されていますか?

この記事では、 EFテストツールをComputed Columnで使用することは、私の例としてCode Firstの代わりにDB 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()として計算されます。

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);
}

SQL Serverではうまく動作しますが、単体テストでEffortを使用すると、フィールドは空の日付値になります。

ここに画像の説明を入力

人気のある回答

これはEffortの問題のように思えます。私はgithubサイトで問題を開いた: https : //github.com/tamasflamich/effort/issues/62





ライセンスを受けた: CC-BY-SA
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ