内存数据库不是跨服务提供商ASP.Net Core 2持久化的

时间:2018-06-19 07:33:14

标签: dependency-injection entity-framework-core asp.net-core-2.0 in-memory-database service-provider

我在我的项目中使用ASP.Net Core 2和Entity framework core 2与内存数据库,我在我使用的方法中调用:

word

问题是此调用不返回数据,因为服务提供商不使用现有的 dbcontext ,但由于某种原因创建了新的 dbcontext 。一切都可以正常使用SQL数据库,但是在内存中它没有,我试图找到如何使其工作的方法,但到目前为止,我只找到了测试项目,集成测试等的例子。我想知道是否有一个简单的解决方案,我只需在 Startup.cs 中添加一些代码,因为我想尽可能保持应用程序代码不变。

我的 Startup cs ConfigureServices(IServiceCollection services)下有这样的行:

var serviceCollection = DependencyServiceProvider.ServiceProvider; List<KpiType> types = await serviceCollection.GetService<KpiTypeService().List();

services.AddDbContext<MyFcDbContext>(x => x.UseInMemoryDatabase(databaseName: "db"));

services.AddTransient<KpiTypeService, KpiTypeService>();

0 个答案:

没有答案