我在我的项目中使用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>();