私はこのタイトルに本当に苦労したので、ここでもっとうまく説明できることを願っています!
ORM として Entity Framework を使用し、依存性注入フレームワークとして Ninject を使用します。DbFactory と UnitOfWork を Ninject でシングルトンとしてバインドします
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
モデルを使用しています。