在ConsoleApp中使用Web应用程序的现有DbContext

时间:2019-07-15 14:05:06

标签: c# dependency-injection dbcontext

我已经完成了对asp.net Core Web应用程序的编程。 另外,我想在我的解决方案中添加一个控制台应用程序,该应用程序应该可以处理一些cronjobs。

不幸的是,我对如何从控制台应用程序中的Web应用程序使用我的DbContext-Class感到完全困惑。 我添加了参考,现在可以访问名称空间。

但是如何在控制台应用程序中访问我的DbContext并能够在其他类中重用它?

感谢大家的提示。 帕特里克

1 个答案:

答案 0 :(得分:1)

如果将DbContext类与Web应用程序分开,则可以执行此操作。

但是,您需要手动构建ServiceCollection并添加对DbContext的引用。

使用存储库模式从Web应用程序中删除依赖项。

对于cron作业,您也可以使用IHostedService(https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/hosted-services?view=aspnetcore-2.2&tabs=visual-studio)注意,尽管负载仍然在Web服务器上。