NET MVC Переключение между исходными данными и реальными данными - PullRequest
0 голосов
/ 20 мая 2018

В Net MVC Core 2, есть ли метод в Visual Studio, чтобы переключаться между искусственными данными Seed в памяти и реальным SQL-соединением Test Environment?Мы постоянно тестируем между двумя средами.

Это способ создания искусственных данных из источника: «Pro ASP.NET Core MVC 2, Freeman».Чтобы переключаться между Seed Data, я должен удалить все это, а затем снова добавить настоящую строку подключения в Application.json, я пытаюсь предотвратить удаление / добавление кода.На данный момент новичок в MVC, программирование только на несколько месяцев, поэтому стараюсь учиться.Спасибо

Создание начальных данных

new Product {
Name = "Kayak", Description = "A boat for one person",
Category = "Watersports", Price = 275 },

new Product {
Name = "Lifejacket",
Description = "Protective and fashionable",
Category = "Watersports", Price = 48.95m },

Затем в Startup.cs

public void ConfigureServices(...
services.AddTransient<IProductRepository, EFProductRepository>();

public void Configure(...
SeedData.EnsurePopulated(app);

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Для автоматического переключения строки подключения вам необходимо использовать конфигурацию на основе среды.Затем, основываясь на вашей переменной среды, ваше приложение будет считывать разные значения.Проверьте этот ответ для более подробной информации: Настройка переменных среды в .net Core 2.0

0 голосов
/ 20 мая 2018

Функция, которую вы ищете, находится в EF Core.Это опция .UseInMemoryDatabase:

public TestDbContext Context => InMemoryContext();
    private TestDbContext InMemoryContext()
    {
        var options = new DbContextOptionsBuilder<TestDbContext>()
            .UseInMemoryDatabase(Guid.NewGuid().ToString())
            .EnableSensitiveDataLogging()
            .Options;
        var context = new TestDbContext(options);

        return context;

}

Этот блог заполнит пробелы: https://garywoodfine.com/entity-framework-core-memory-testing-database/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...