我对Autofac还比较陌生,现在我正在尝试每次初始化一个类时设置一个公共属性。下面是具体情况:我有许多继承自“Entity”的类,其基本格式如下...
public class Person : Entity
{
public virtual DataContext ServiceContext { get; set; }
public string FirstName {get; set;}
...
}
这些类通常会通过像这样的LINQ查询进行实例化:
var context = SomeContext(connection);
var people = context.Query<Person>().Where(item => item.FirstName == "Joe").ToList();
我想要实现的目标是每次实例化Person类时将"context"对象传递到ServiceContext属性中。在这个例子中,people列表中的每个Person都会设置这个属性。
理想情况下,我会通过"Entity"的构造函数传递DataContext,但问题是我无法访问第三方提供的Entity或Linq提供程序。所以我的问题是,使用Autofac,如何将"context"注入到每个派生自"Entity"的类的"ServiceContext"属性中?看起来OnActivating事件接近我所需要的,但我无法使其工作。