IdeaBlade DevForce 2010 Help Reference
EntityCacheState Class
Members  Example  See Also  Send Feedback
IdeaBlade.EntityModel Assembly > IdeaBlade.EntityModel Namespace : EntityCacheState Class



A serializable collection of Entities that can be retrieved from an EntityManager.

Syntax

Visual Basic (Declaration) 
<DataContractAttribute()>
Public Class EntityCacheState 
Visual Basic (Usage)Copy Code
Dim instance As EntityCacheState
C# 
[DataContractAttribute()]
public class EntityCacheState 
C++/CLI 
[DataContractAttribute()]
public ref class EntityCacheState 

Example

C#Copy Code
private void SampleEntityCacheUsage() {

   DomainModelEntityManager mgr = new DomainModelEntityManager();

   // Cache all employees.
   mgr.ExecuteQuery<Employee>();

   // Save the cache to local storage.
   mgr.CacheStateManager.SaveCacheState(@"c:\temp\entitycache.bin");

   // Ocassionally-connected users will normally connect, cache all data required,
   // then disconnect and work from local cache and/or locally saved cache until they can reconnect.
   // In this example, we'll mimic a disconnected login for this user by clearing all cached data
   // and then re-loading the cache from local storage.
   mgr.Disconnect();
   mgr.Clear();

   mgr.CacheStateManager.RestoreCacheState(@"c:\temp\entitycache.bin");

   // Let's reconnect and get more data now.
   mgr.Connect();
   mgr.ExecuteQuery<Customer>();
}
Visual BasicCopy Code
Private Sub SampleEntityCacheUsage()

  Dim mgr As New DomainModelEntityManager()

  ' Cache all employees.
  mgr.ExecuteQuery(Of Employee)()

  ' Save the cache to local storage.
  mgr.CacheStateManager.SaveCacheState("c:\temp\entitycache.bin")

  ' Ocassionally-connected users will normally connect, cache all data required,
  ' then disconnect and work from local cache and/or locally saved cache until they can reconnect.
  ' In this example, we'll mimic a disconnected login for this user by clearing all cached data
  ' and then re-loading the cache from local storage.
  mgr.Disconnect()
  mgr.Clear()

  mgr.CacheStateManager.RestoreCacheState("c:\temp\entitycache.bin")

  ' Let's reconnect and get more data now.
  mgr.Connect()
  mgr.ExecuteQuery(Of Customer)()
End Sub

Remarks

An EntityCacheState is retrieved from an EntityManager via the CacheStateManager.GetCacheState method; it can then be serialized and stored. The EntityCacheState can be restored by deserializing the contents and calling either the Merge or CacheStateManager.RestoreCacheState methods.

The SaveCacheState(String,Boolean) and RestoreCacheState(String,Boolean) methods of the IdeaBlade.EntityModel.EntityCacheManager class provide additional serialization and deserialization capabilities. You can use EntityCacheState directly if you prefer additional control over this processing. You will normally work with the EntityCacheState via the EntityManager's EntityManager.CacheStateManager property.

Inheritance Hierarchy

System.Object
   IdeaBlade.EntityModel.EntityCacheState

Requirements

Target Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family

See Also

© 2013 All Rights Reserved.