在Repository Concrete类中正确使用C#Generics

时间:2015-08-10 19:20:35

标签: c# generics couchbase

我正在尝试创建一个AFactory存储库类,它使用泛型来访问C#数据库。添加和读取的代码看起来像这样......

Couchbase

Add函数工作正常,我的问题是Read并返回结果,该结果有一个强制转换的问题:

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;
}

我明白为什么会这样,有几次尝试解决,一切都无济于事。

任何帮助真的很感激,这让我有点疯狂。

谢谢,

肖恩

1 个答案:

答案 0 :(得分:2)

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

return result.Content;