2013-11-25 39 views
0

我有一个需求,我需要缓存具有3列(ID,STRING,STRING)的数据库表并根据C#中的id查询它。我搜索了很多堆栈溢出的文章,但找不到解决这个问题的文章。缓存数据并查询它

回答

0

我建议您使用Lucene索引引擎来缓存和查询数据。看一看:Lucene .NET Wrapper Reference

[编辑]

它真的很容易使用和作品真的很快:)的测试和认定:)顺便说一句。一些脂肪酶使用SQLite来缓存数据和查询它们(快速和使用本地驱动器来存储数据)

1

创建实体类:您可以创建一个类这三个领域

创建缓存类:该类会有一个实体类(存储库)的集合,并将其存储在第一个请求的会话中,对于所有后续请求,检查存储库是否有值,然后从存储库返回,否则从数据库加载存储库并返回。

让我知道你是否需要样本结构。

private class MyEntity 
{ 
    public int ID {get;set;} 
    public String String1 {get;set;} 
    public String String2 {get;set;} 
} 

public class Repository 
{ 
    List<MyEntity> myEntityCollection{get;set;} 
    List<MyEntity> MyEntityCollection 
    { 
     get 
     { 
      if (myEntityCollection == null) { LoadAndFillMyEntityCollectionFromDatabase(); } 
      return myEntityCollection; 
     } 
    } 

    public MyEntity GetMyEntity(int id) 
    { 
     return MyEntityCollection.FirstOrDefault(x=>x.ID == id); 
    } 
} 

在这里是一个示例类结构,其中LoadAndFillMyEntityCollectionFromDatabase是从数据库加载myEntityCollection集合的方法。

我把它写在这里,如果不编译,你可能需要做一些小的改动。

+0

谢谢伊姆兰,如果您可以发送样本结构 – rampuriyaaa