关于网友提出的“在使用mongodb的samus驱动时,遇到的Lamda表达式问题”问题疑问,本网通过在网上对“在使用mongodb的samus驱动时,遇到的Lamda表达式问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:在使用mongodb的samus驱动时,遇到的Lamda表达式问题
描述:samus-mongodb-csharp
在使用mongodb的samus驱动时,遇到一个很诡异的语法问题,如:
var db = mongo.GetDatabase("TestDb");
var collection = db.GetCollection();
collection.Delete(p => p.name == "One");//可以正确删除
Expression<>> expression = p => p.name == "Two";
collection.Delete(expression);//这个删除就不行了
这个现象查询也是一样的,都不行,哪位高人帮忙看一下?
解决方案1:collection.Delete(p => p.name == "One");
这个签名是Func 是一个委托。
而
Expression<>> expression 是表达式树。
expression.Compile()是委托。
感觉这样多此一举啊。
解决方案2:Expression<>> expression = p => p.name == "Two";
换成
Func expression = p => p.name == "Two";
以上介绍了“在使用mongodb的samus驱动时,遇到的Lamda表达式问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1019429.html