【问题标题】:LLBLGen Pro 5.0 caching with EntityCollectionBase.GetMulti()LLBLGen Pro 5.0 缓存与 EntityCollectionBase.GetMulti()
【发布时间】:2018-01-16 16:35:45
【问题描述】:

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

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

提前致谢,

【问题讨论】:

    标签: caching llblgen


    【解决方案1】:

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

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

    其中 xxxx 是您的项目名称。

    【讨论】:

    • 感谢您的回答。我还没有创建项目,我正在处理现有的 llblgen 项目。经检查,本项目使用SelfServicing。
    猜你喜欢
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多