在存储库具体类中正确使用c#泛型

本文关键字:泛型 存储 | 更新日期: 2023-09-27 18:07:09

我试图创建一个使用泛型访问Couchbase数据库的C#存储库类。添加和读取的代码如下所示:

public void Add<T>(string id, T entity) where T : class
{
    var doc = new Document<T>()
    {
        Id = id,
        Content = entity
    };
    activeBucket.Upsert(doc);
    return;
}
public T Read<T>(string id)
{
    var result = activeBucket.GetDocument<T>(id);
    return result;
}

添加函数工作得很好,我的问题是读取和返回的结果有一个沿行转换问题:

Cannot implicitly convert Couchbase.IDocumentResult<T> to T

我明白为什么会出现这种情况,我已经尝试了好几次,但都无济于事。

非常感谢任何帮助,这让我有点疯狂。

谢谢,

肖恩

在存储库具体类中正确使用c#泛型

如果我正确阅读文档,您只需返回Content,因为文档对象只是围绕内容的包装器,其中包含有关请求结果的一些额外数据:

return result.Content;