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

时间:2018-01-16 16:35:46

标签: caching llblgen

我正在使用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 ..

您有什么想法,建议解决我的问题吗?

提前致谢,

1 个答案:

答案 0 :(得分:0)

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

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

其中xxxx是项目名称。