风轻云淡

-------生活没有抱怨,只有自己的不努力,当才华撑不起梦想与野心,不断学习是你唯一的选择。没有伞的孩子必须努力奔跑...

导航

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();

 

posted on 2020-05-28 10:51  淡然→笑  阅读(296)  评论(0编辑  收藏  举报