我真的为这个标题而苦苦挣扎,所以希望我能在这里更好地描述它!
我们使用实体框架作为我们的 ORM 和 Ninject 作为我们的依赖注入框架。我们使用 Ninject 将 DbFactory 和 UnitOfWork 绑定为单例
Bind<IDbFactory>().To<DbFactory>().InSingletonScope();
Bind<IUnitOfWork>().To<UnitOfWork>().InSingletonScope();
现在,在 MVC 项目中这很好用,但我们还想使用 API 将一些数据发送回服务器,然后刷新页面。EF 需要大约 10 分钟来决定是否要再次查询数据库以检索数据。
除了禁用缓存之外,我唯一的理论是 Ninject 正在创建一个对象供 MVC 项目使用,另一个供 API 使用。所以我的问题;我的理论是否正确,如果是,我该如何克服?
编辑:示例模型
public class Property
{
public int Id { get; set; }
public virtual ICollection<PropertyPhoto> PropertyPhotos { get; set; }
// Blah blah everything else
}
public class PropertyPhoto
{
public int Id { get; set; }
// Blah blah everything else
}
现在,API 正在PropertyPhoto
通过其存储库更新模型,而 mvc 项目正在使用该Property
模型