在存储库具体类中正确使用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
我明白为什么会出现这种情况,我已经尝试了好几次,但都无济于事。
非常感谢任何帮助,这让我有点疯狂。
谢谢,
肖恩
如果我正确阅读文档,您只需返回Content
,因为文档对象只是围绕内容的包装器,其中包含有关请求结果的一些额外数据:
return result.Content;