Posso comunque caricare i dati nella memoria invece di utilizzare i file .csv in cerca di test delle unità?

csv effort entity-framework nunit unit-testing

Domanda

Posso comunque caricare i dati nella memoria invece di utilizzare i file .csv in cerca di test delle unità?

Scenario: voglio caricare i dati nella memoria per utilizzare il framework Effort che crea il falso dbcontext ed esegue l'operazione. Invece di usare Dataloader e i file .csv ho bisogno di caricare i dati in modo programmatico.

Esempio di codice che funziona bene con i file .csv:

        IDataLoader loader = new Effort.DataLoaders.CsvDataLoader("D:\\csv");
        var dataLoader = new CachingDataLoader(loader, false);
        DbConnection connection = Effort.DbConnectionFactory.CreateTransient(dataLoader);
        DbContext mockedDbContext = new NopObjectContext(connection);
        EfRepository<Shelf> _shelEfRepository = new EfRepository<Shelf>(mockedDbContext);
        EfRepository<ProductVariant> _productVariantEfRepository = new EfRepository<ProductVariant>(mockedDbContext);
        EfRepository<Product> _productEfRepository = new EfRepository<Product>(mockedDbContext);
        _shelfService = new ShelfService(_shelEfRepository, _productVariantEfRepository, _productEfRepository);

Sto solo cercando qualcosa di sostitutivo per caricare i dati invece di caricare i dati usando i file .csv

Risposta popolare

È possibile creare un DbConnection temporaneo / persistente senza un DataLoader, utilizzarlo in DbContext , quindi DbContext a livello di DbContext dati generati nel contesto.

Vedi: https://tflamichblog.wordpress.com/2012/11/04/factory-methods-in-effort-createtransient-vs-createpersistent




Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché