[英]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.