EF保存数据报错:An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
EF保存关联表报错:An entity object cannot be referenced by multiple instances of IEntityChangeTracker. 字面理解就是一个实例对象不能被多个IEntityChangeTracker实例对象引用
因为使用了Autofac 依赖注入,默认是InstancePerDependency,所以每次调用DbContext都会生成新的实例对象
InstancePerDependency:默认模式,每次调用,都会重新实例化对象;每次请求都创建一个新的对象;
InstancePerLifetimeScope:同一个Lifetime生成的对象是同一个实例
SingleInstance:单例模式,每次调用,都会使用同一个实例化的对象;每次都用同一个对象;
-----------------------------------------------
ContainerBuilder builder = new ContainerBuilder();
//配置接口依赖
//SingleInstance或InstancePerLifetimeScope都可以
builder.RegisterType<LTEFModel.MyDbContext>().As<DbContext>().SingleInstance();