RavenDB (5.3) 返回任何文档类型的属性子集的通用 C# 方法

Chr*_*ows 5 ravendb

我正在尝试创建一个通用 C# 方法,该方法可以仅返回通用 BasicObject 类中特定文档类型的 Id 和说明(字符串)属性。(我的大多数文档类型都有 Id 和 Description 属性)。

该方法将接受文档类型和(大概)一个表达式,该表达式将作为参数传递给查询定义的 .Select 部分。该表达式会将文档类型转换为 BasicObject(Id 和 Description 属性)。

我尝试了下面的方法,但 RavenDB 不理解该表达式。是否可以执行我需要的操作,或者我是否必须为每种文档类型实现该方法。

public Task<List<T>> GetAllDocs(Expression<Func<T, BasicObject> convertExpression)
{
    var query = _session.Query<T>
        .Select(doc => convertExpression(doc));

    var results = await query.ToListAsync();

    return results;
}
Run Code Online (Sandbox Code Playgroud)