在 Repository Concrete 中正确使用 C# 泛型 class
Correct use of C# Generics in a Repository Concrete class
我正在尝试创建一个 C#
存储库 Class,它使用泛型来访问 Couchbase
数据库。添加和读取的代码如下所示...
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;
}
Add 函数工作正常,我的问题是 Read 和返回的结果有一个强制转换问题:
Cannot implicitly convert Couchbase.IDocumentResult<T> to T
明白为什么会这样,试了好几次都解决不了。
非常感谢任何帮助,这让我有点发疯。
谢谢,
肖恩
如果我读 documents 正确,您只需 return Content
,因为文档对象只是内容的包装器,包含一些额外的数据请求结果:
return result.Content;
我正在尝试创建一个 C#
存储库 Class,它使用泛型来访问 Couchbase
数据库。添加和读取的代码如下所示...
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;
}
Add 函数工作正常,我的问题是 Read 和返回的结果有一个强制转换问题:
Cannot implicitly convert Couchbase.IDocumentResult<T> to T
明白为什么会这样,试了好几次都解决不了。
非常感谢任何帮助,这让我有点发疯。
谢谢,
肖恩
如果我读 documents 正确,您只需 return Content
,因为文档对象只是内容的包装器,包含一些额外的数据请求结果:
return result.Content;