MVC6 DbContext에서 컨트롤러와 관련없는 클래스에서 액세스

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

문제

나는 EF7을 사용하여 ASP.Net5 MVC6 웹 사이트를 개발 중이다.

컨트롤러에서 호출되지 않은 클래스 중 하나에서 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에 게시 될 예정입니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.