在EF-CF中可以获取一次然后保存在内存中吗?

时间:2012-12-06 13:26:42

标签: entity-framework entity-framework-4 entity-framework-4.1

我有一个属性LeadTypeID,如果为null,我希望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

1 个答案:

答案 0 :(得分:0)

Theres没有内置方式(尽管您的Lead实体将在上下文的生命周期中保留在本地图形中,但保留应用程序生命周期的上下文并不是一个好主意)。

我个人使用依赖注入和一些缓存对象来解决这个问题。以下是我如何缓存整个表(使用write-thru缓存)的示例,缓存单个整数更简单,在构造函数中注入/创建上下文,将值设置为公共属性,并将其绑定到单例中范围。

缓存对象: 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