在.net核心应用程序中使用dbcontext

时间:2016-11-24 11:46:07

标签: c# entity-framework asp.net-core

我正在运行.net核心应用程序作为Windows服务。所以我的问题是如何在Windows服务中使用dbcontext进行数据库操作?

以下是服务类

public class SendMailHostService : WebHostService
{
    private readonly EventLog _log = new EventLog("Application") { Source = "Application" };
    public SendMailHostService(IWebHost host) : base(host)
    {

    }

    protected override void OnStarted()
    {
        Console.WriteLine("Asp.net service started.");
        Console.ReadLine();     
    }

    protected override void OnStarting(string[] args)
    {
        Console.WriteLine("Asp.net service starting.");
        Console.ReadLine(); 
    }
}

和服务扩展类:

public static class SendMailHostServiceExtensions
{
    public static void RunAsSendMailService(this IWebHost host)
    {
        var webHostService = new SendMailHostService(host);
        webHostService.ServiceName = "LMS.WinService.SendEmail";
        ServiceBase.Run(webHostService);
    }
}

我是否需要在服务类中注入依赖项? 编辑:1 最初我需要连接到客户端管理数据库,其中一个名为Clientsconnectionstring的表将具有所有客户端的连接字符串,之后我需要为每个客户端创建数据库上下文并执行Windows服务逻辑。

1 个答案:

答案 0 :(得分:1)

您可以根据需要在每种方法中创建上下文。