使用EntityCollectionBase.GetMulti()进行LLBLGen Pro 5.0缓存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用EntityCollectionBase.GetMulti()进行LLBLGen Pro 5.0缓存相关的知识,希望对你有一定的参考价值。

我正在使用LLBLGen 5.0和EntityCollectionBase.GetMulti(filter,relation)来检索oracle数据库中的对象。

ObjectCollection objects = new ObjectCollection ();
RelationCollection relationsToUse = new RelationCollection();
relationsToUse.Add(ObjectEntity.Relations.Object2EntityUsingObject2Id);
IPredicateExpression filter = new PredicateExpression(ObjectFields.Code == sectionCode);
objects.GetMulti(filter, relationsToUse);

我想添加缓存系统,以避免多次在数据库中做请求。我看到on LLBLGen documentation可以使用此代码在LLBLGen上使用缓存:

var customers = new EntityCollection<CustomerEntity>();
using(var adapter = new DataAccessAdapter())
{
    var parameters = new QueryParameters()
    {
        CollectionToFetch = customers,
        FilterToUse = CustomerFields.Country=="USA", 
        CacheResultset = true,
        CacheDuration = new TimeSpan(0, 0, 10)  // cache for 10 seconds
    };
    adapter.FetchEntityCollection(parameters);
}

但我无法找到类DataAccessAdapter ..

你有任何想法,建议解决我的问题吗?

提前致谢,

答案

如果您创建了一个使用SelfServicing的llblgen项目,则没有DataAccessAdapter,因此必须使用Adapter选项创建项目。

如果是这样,那么它应该在xxxx.DatabaseSpecific中

其中xxxx是项目名称。

以上是关于使用EntityCollectionBase.GetMulti()进行LLBLGen Pro 5.0缓存的主要内容,如果未能解决你的问题,请参考以下文章

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份

Kettle java脚本组件的使用说明(简单使用升级使用)