MVC6は、コントローラに関連しないクラスからDbContextにアクセスします。

asp.net-core-mvc entity-framework-core

質問

私はEF7を使ってASP.Net5 MVC6ウェブサイトを開発しています。

私はControllerから呼び出されていないクラスからDbContextにアクセスしたかったのです。

そこからアクセスすることは可能ですか?はいの場合は、私はそれを行う方法を学ぶことができるように私を少しガイドしてください。

これまでGitHubとstackoverflowから多くのものを検索しました。このトピックに関する情報はほとんどありません。

私は私のクラスに注入する必要がある場合、どのように私はそれを行う必要がありますか?

    public class CarAppContext : DbContext
{
    public DbSet<Car> Cars { get; set; }
    public DbSet<BodyType> BodyTypes { get; set; }
}

public Class NotificationManager
{
    CarAppContext ctx;
    public NotificationManager(CarAppContext AppCtx)
    {
        ctx = AppCtx;
    }
    public void SendNotification(Car HisCar, UserNotification HisNotification)
    {
        //need to check he has subscribed or not
        //ctx is null here
    }
}

人気のある回答

new CarAppContext()呼び出すことができます。

しかし、Dependency Injectionを代わりに使用する場合は、

  1. CarAppContextとNotificationManagerの両方を依存性注入コンテナに登録しています(通常はStartup.Configureで実行されます)
  2. 依存性注入からNotificationManagerをインスタンス化する

あなたはドキュメントを見つけられていません。 ASP.NET 5はまだベータ版ですので、私たちのドキュメントはまだ書かれていません。準備が整うと、 http : //docs.asp.net/en/latest/fundamentals/dependency-injection.htmlに投稿されます。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ