Dependency injection in entity classes with code first

自古美人都是妖i 提交于 2019-12-06 05:38:35

问题


I'm trying to figure out a way to handle dependency injection in entity framework code first.

I stumbled upon an article that uses ObjectStateManager though I don't think it's available in code first, so I'm looking for something similar where I could inject (property injection) an object into a newly created/fetched entity, or maybe there's a different way?

I'm using Autofac as the di container


回答1:


You can do DI like this

 public class YourContext : DbContext
 {
    protected ObjectContext ObjectContext
    {
        get
        {
            return ((IObjectContextAdapter)this).ObjectContext;
        }
    }

    public YourContext(string connectionString):base(connectionString)
    {
        ObjectContext.ObjectMaterialized += ObjectMaterialized;
    }

    void ObjectMaterialized(object sender, ObjectMaterializedEventArgs e)
    {
        // do property injection here using e.Entity
    }
 }


来源:https://stackoverflow.com/questions/6427686/dependency-injection-in-entity-classes-with-code-first

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!