Try Playground
Show / Hide Table of Contents

Entity Framework Cache Resync Provider [Deprecated]

The Resync mechanism of NCache is responsible for keeping data up to date across the cache cluster. In the case of EF caching, if the query data in the cache gets invalidated for any reason (Expiration or Dependency) the Resync mechanism (if enabled) fetches this data from the database and inserts it into the cache automatically. Hence, ensuring efficiency as this data will be retrieved from the cache instead of the database in the future.

Note

This feature is only available in NCache Enterprise.

Therefore, Entity Framework allows the NCache Read-Through provider to be used as a Resync Provider. The Read-Through provider communicates with the data source and retrieves the data from it in case of any cache miss. All you have to do is to add the Resync Provider as Read-Through provider through the NCache Management Center and then specify the resyncProviderName tag through the Entity Framework Caching config file.

Warning

If the resyncProviderName tag is not provided in the efcaching.ncconf file, the query will not resync after expiry.

Entity Framework Cache Resync Provider Parameters

The following are the parameters provided while deploying the Entity Framework Cache Resync Provider:

  • appId: This will be the unique identifier for the app-config tag in efcaching.ncconf file. Through this, the provider will read the required configuration based on the ID given.

  • logLevel: This determines the log level for the provider. The provider will log exceptions and errors only when it is set to Error (Default). When the level is Debug, both exceptions/errors and other detailed information will be logged. Nothing will be logged if the level is set to Off. The path at which log files will be generated is %NCHOME%\log-files\EfCachingLogs and the path at which the provider-related logs will be generated is %NCHOME%\log-files\EfCachingLogs\EfCachingProviderLogs.

Steps to Deploy Entity Framework Cache Resync Provider

Warning

If the efcaching.ncconf config file is not deployed on the server, the cache will not start.

After installing the NuGet package for Entity Framework Cache, follow the steps below to deploy the Resync Provider as Read-Through provider.

Specify Connection String

First, you need to specify the database connection string by overriding the GetDbConnection method, which extends the EFReadThruProviderBase class and IReadThruProvider interface as explained in the sample code below.

public class EfResyncProvider : EFReadThruProviderBase, IReadThruProvider
{
    protected override DbConnection GetDbConnection(IDictionary parameters, string cacheId)
    {
        // Write your connectionString here
    }
}

Deploy Resync Provider through the NCache Management Center

After specifying the connectionString, add the Resync Provider as a Read-through provider via the NCache Management Center. There, you will provide the name for the Entity Framework Cache Resync Provider add the EFResyncProvider class as a class name, and add parameters for the database connectionString. You can also provide the appId and logLevel optional parameters with the Resync Provider.

Note
  • Multiple app-Id can be provided in the efcaching.ncconf configuration file if you have multiple applications running.
  • The efcaching.ncconf must be deployed on the server, while configuring your Resync Provider through the NCache Management Center.

Next, to deploy the Resync Provider, you need to select your application's dll along with the Alachisoft.Integrations.EntityFramework.CachingProvider.dll and efcaching.ncconf file, containing the configuration information, and save your changes. Now, your Entity Framework application is ready to be used along with the Resync mechanism.

See Also

Entity Framework Caching Config File
NHibernate
Entity Framework Core Caching

In This Article
  • Entity Framework Cache Resync Provider Parameters
  • Steps to Deploy Entity Framework Cache Resync Provider
    • Specify Connection String
    • Deploy Resync Provider through the NCache Management Center
  • See Also

Contact Us

PHONE

+1 (214) 764-6933   (US)

+44 20 7993 8327   (UK)

 
EMAIL

sales@alachisoft.com

support@alachisoft.com

NCache
  • NCache Enterprise
  • NCache Professional
  • Edition Comparison
  • NCache Architecture
  • Benchmarks
Download
Pricing
Try Playground

Deployments
  • Cloud (SaaS & Software)
  • On-Premises
  • Kubernetes
  • Docker
Technical Use Cases
  • ASP.NET Sessions
  • ASP.NET Core Sessions
  • Pub/Sub Messaging
  • Real-Time ASP.NET SignalR
  • Internet of Things (IoT)
  • NoSQL Database
  • Stream Processing
  • Microservices
Resources
  • Magazine Articles
  • Third-Party Articles
  • Articles
  • Videos
  • Whitepapers
  • Shows
  • Talks
  • Blogs
  • Docs
Customer Case Studies
  • Testimonials
  • Customers
Support
  • Schedule a Demo
  • Forum (Google Groups)
  • Tips
Company
  • Leadership
  • Partners
  • News
  • Events
  • Careers
Contact Us

  • EnglishChinese (Simplified)FrenchGermanItalianJapaneseKoreanPortugueseSpanish

  • Contact Us
  •  
  • Sitemap
  •  
  • Terms of Use
  •  
  • Privacy Policy
© Copyright Alachisoft 2002 - 2025. All rights reserved. NCache is a registered trademark of Diyatech Corp.
Back to top