¿Hay alguna forma de que pueda cargar los datos en la memoria en lugar de usar archivos .csv en un esfuerzo por probar la unidad?


Pregunta

¿Hay alguna forma de que pueda cargar los datos en la memoria en lugar de usar archivos .csv en un esfuerzo por probar la unidad?

Escenario: Quiero cargar los datos en la memoria para usar el marco de Esfuerzo que crea el dbcontext falso y realiza la operación. En lugar de usar los archivos Dataloader y .csv, necesito cargar los datos mediante programación.

Código de muestra que funciona bien con archivos .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);

Solo estoy buscando algo de reemplazo para cargar los datos en lugar de cargarlos con archivos .csv

Respuesta popular

Puede crear una DbConnection transitoria / persistente sin un DataLoader, usarla en su DbContext y luego insertar los datos generados en el contexto mediante programación.

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





Licencia bajo: CC-BY-SA
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué