2

LeadTypeIDnull の場合は EF がフェッチし、アプリケーションのライフサイクルの間メモリに保持するプロパティがあります。私がこれを行うことができる組み込みの方法はありますか、それとも誰かが提案していますか? ありがとう

Public Class Lead
    Public Property LeadID As Integer
    Public Property Name As String
    Public Property LeadTypeID As Integer
    Public Overridable Property LeadType As LeadType
End Class

Public Class LeadType
    Public Property LeadTypeID As Integer
    Public Property Name As String
    Public Property LastUpdated As Date
End Class
4

1 に答える 1

0

組み込みの方法はありません (Lead エンティティはコンテキストの存続期間中ローカル グラフにとどまりますが、アプリケーションの存続期間にわたってコンテキストを保持することはお勧めできません)。

個人的には、依存性注入と小さなキャッシュ オブジェクトを使用してこの問題を解決しています。以下は、テーブル全体を (ライトスルー キャッシュを使用して) キャッシュする方法の例です。単一の整数のキャッシュはさらに簡単で、コンストラクターでコンテキストを挿入/作成し、値をパブリック プロパティとして設定し、シングルトンでバインドします。範囲。

キャッシュ オブジェクト: https://github.com/lukemcgregor/StaticVoid.Blog/blob/master/Blog/Data/Entities/Blog/CachedBlogRepository.cs

バインディング: https://github.com/lukemcgregor/StaticVoid.Blog/blob/master/Blog/Data/PersistanceModule.cs

于 2012-12-06T13:58:42.973 に答える