0

我的模型和 DataContext 在我的解决方案中我的 Web MVC 项目的另一个项目中。当我尝试在AppHost Configure方法中注册我的 DataContextnull时,当我尝试在我的服务将使用的存储库中使用它时,我的 DataContext 仍然存在。

这是在Configure

container.Register<WarrantyContext>(c => new WarrantyContext());

然后,当我尝试在存储库中使用依赖项时,如下所示:

public WarrantyContext _db { get; set; }

它仍然是null。尝试从另一个项目注册依赖项时,您需要做些什么吗?

4

1 回答 1

1

有些事情要调查...

  • 如果您使用的是 autofac,请确保您已遵循此处列出的所有步骤

  • 此外,听起来您有一个以 WarrantyContext 作为属性的 Repository 类。这里有一条注释指出“使用上述方法时,注册类型的属性和构造函数不会自动连接(即属性和构造函数没有注入)。您需要像那样手动执行此操作”。因此,如果您有一个类 Repository(带有 WarrantyContext 属性)被注入到您的服务中(如下所示),除非您手动注册,否则 WarrantyContext 将为空。

    //To inject WarrantyContext into a Repository that is injected to Service 
    container.Register<Repository>(c => new Repository() { _db = c.Resolve<WarrantyContext>() });
    
    
    public class Repository 
    {
        public WarrantyContext _db { get; set; }
    }
    
    
    public class AService : Service
    {
        public Repository repo { get; set; }
    
        public object Any(ARequest request)
        {
            //CODE
        }
    }
    
于 2013-03-26T17:18:04.300 回答