使用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有三种方式(不使用,动态使用,静态使用,默认是动态使用)