MongoDB C#2.0 - 替代AsQueryable的LINQ查询

时间:2015-08-15 18:37:49

标签: linq mongodb mongodb-query mongodb-.net-driver

这是我的模型的样子

public class Bios
{
    [BsonId]
    public ObjectId Id { get; set; }
    [BsonElement("init")]
    public string Init { get; set; }
    [BsonElement("name")]
    public string Name { get; set; }
}

使用MongoDB C#驱动程序1.10,我能够执行以下操作并获得正确的结果。我得到一个首字母的字符串列表。

private static IEnumerable<string> InitList(MongoCollection mongoCollection)
{
    return mongoCollection.AsQueryable<Bios>().Select(b => b.ResAnInit);
}

但是,我将驱动程序升级到2.0.1并尝试获得相同的结果。在Resharper的帮助下,我将方法修改为:

private static async Task<IEnumerable<string>> InitList(IMongoCollection<Bios> mongoCollection)
{
    return await mongoCollection.Find(x => x.Init != null)
        .Project(Builders<Bios>.Projection.Include(y => y.Init).Exclude("_id"))
        .ToListAsync();
}

我现在收到错误。我怎么能解决这个问题来做我用C#driver 1.10做的事情?

0 个答案:

没有答案