MongoCollection<T> to Collection<T>

本文关键字:gt lt Collection to MongoCollection | 更新日期: 2023-09-27 18:03:48

我有一个名为Employee的类。从我的控制器,我传递IEnumerable<Employee>到视图。如何将MongoDB.Driver.MongoCollection<Employee>转化为IEnumerable<Employee> ?

public ActionResult Index()
{
    var server = MongoServer.Create("mongodb://127.0.0.1");
    var db = server.GetDatabase("employee");
    var employeeCollection = new Collection<Employee>
    {
        new Employee
        {
            EmployeeId = new ObjectId(),
            EmployeeName = "A"
        },
        new Employee
        {
            EmployeeId = new ObjectId(),
            EmployeeName = "B"
        }
    };
    var collection = db.GetCollection<Employee>("employee");
    collection.InsertBatch(employeeCollection);
    return View(collection);
}

MongoCollection<T> to Collection<T>

您可以使用FindAll,这将允许您枚举整个集合:

return View(collection.FindAll());

您也可以使用AsQueryable来实现相同的结果:

return View(collection.AsQueryable());

但是你这样做应该小心。这个集合可能包含数百万个文档。