我有一个sql查询我需要进行等效mongodb
查询我正在使用c#
驱动程序。是否有可能创建一个动态方法来创建mongo等效的这类sql
查询,我可以动态地指定在条件的情况下动态创建所有列的内容。请帮助使用c#
SELECT distinct(employeeID), firstname, Lastname, salary, joinedOn FROM [Employees]
where salary >= 40000 and joinedOn between '2011/02/25' and '2012/02/27'
答案 0 :(得分:0)
如何使用Linq构建动态查询?
public T findOne<T> (Expression<Func<T, bool>> expression) where T: class
{
var db = server.GetDatabase(databaseName);
var documents = db.GetCollection<T>(typeof(T).Name);
return (documents.AsQueryable<T>().Where(expression)).SingleOrDefault;
}
您可以这样使用它:
var employee = findOne<Employee>(e=> d.salary>=4000 &&
d.joinedOn > "2011/02/25" &&
d.joinedOn < "2012/02/27");
我认为你应该将joinOn转换为DateTime。