2

我有一个实体

公共课本

{

公共长 ID { 获取;放; }

公共字符串书名 { 获取;放; }

公共 int ISBN { 获取;放; }

公共字符串作者 { 获取;放; }

}

我想根据非关键字段作者过滤记录,例如:

select * from Book where Author = 'Jones'

我不想通过“GetAll”函数获取所有记录,然后对该列表执行过滤。

我听说 IRedisClient 接口中的 Eval/Lua 操作名为,

string GetEvalStr(string body, int numOfArgs, params string[] args);

int GetEvalInt(string body, int numOfArgs, params string[] args);

List GetEvalMultiData(string body, int numOfArgs, params string[] args);

但我不知道如何在我的情况下使用这些功能。

谁能帮我???

4

1 回答 1

1

Eval 无济于事,您仍然必须获取所有记录并遍历它们(只是使用不同的语言)。在您的情况下,我会说几乎没有选择:如果您需要按作者查找书籍,则应该为每个作者维护一个包含其书籍 ID 的集合。

这确实意味着数据将被复制,但这是在非关系数据存储中建立关系的唯一方法。

于 2012-09-20T22:09:45.093 回答