簡體   English   中英

Web API與MongoDB問題

[英]Web API with MongoDB issue

對於C#和MongoDB來說, 是一個非常新的知識,我正在關注教程(據我所知有些過時),但是我正在研究它並修復過時的問題。 我在本教程的這段代碼中苦苦掙扎:

 public Product GetProduct(ObjectId id)
    {
        var res = Query<Product>.EQ(p=>p.Id,id);
        return _db.GetCollection<Product>("Products").FindOne(res);
    }

我在這條線上出現錯誤,特別是var res = Query<Product>.EQ(e => e.Id, id); 從那以后就對其進行了調整...

 public Post GetPost(ObjectId id)
    {
        var res = IQueryable<Product>.Equals(p =>p.id, id);
        return _db.GetCollection<Product>("Product").Find(res);
    }

我的問題是它確實喜歡lambda表達式,並且給我這個錯誤cannot convert lambda expression to type object because it is not a delegate type 所以我要問的是以下內容...

1.這個lambda有什么意義?

2.如何解決?

嘗試使用構建器來創建過濾器:

var filter = Builders<Product>.Filter.Eq(x => x.Id, id);
return _db.GetCollection<Product>("Product").Find(filter);

或者直接在Find()方法中使用lambda,即

public Post GetPost(ObjectId id)
{
    //If using FindOne() you won't need FirstOrDefault()
    return _db.GetCollection<Product>("Product").Find(x => x.Id == id).FirstOrDefault();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM