Tôi xin lỗi nếu tôi đang sử dụng thuật ngữ sai ở đây. Tôi vẫn còn rất nhiều trong thế giới ORM, nhưng tôi đã chơi đùa với MongoDb và thực sự yêu thích những gì tôi thấy. Một trong những điều tôi không thích là thế này:Trình điều khiển C# của MongoDb, có thể bọc nó trong một phiên chung không?
var books = bookRepository.GetCollection<BsonDocument>("books");
Và
foreach (var book in books.FindAllAs<Book>())
{
Console.WriteLine("Author: {0}, Title: {1}", book.Author, book.Title);
}
Tôi đã tìm thấy một số hướng dẫn về gói NoRM in a session nhưng tôi không thể tìm ra cách để làm điều đó bằng cách sử dụng CSharp Trình điều khiển (những người mà Mongodb đề xuất/có trên trang github của họ).
Những gì tôi thực sự muốn làm là một cái gì đó như thế này cho ví dụ đầu tiên:
var bookRepository = MongoRepository<Book>(); // probably should use IoC to resolve this
và
foreach (var book in books.FindAll())
Voila! Tôi có lẽ không phải là người đầu tiên muốn điều này, bằng cách sử dụng dây ở khắp mọi nơi có vẻ hơi hấp dẫn, mặc dù tôi sẽ cấp rằng hướng dẫn chỉ là một ví dụ. Có một ví dụ "thực hành tốt nhất" để thiết lập này tất cả lên theo cách như vậy?
Chỉnh sửa: Vui lòng cho tôi biết nếu đây là cuộc trò chuyện điên rồ và không phải cách thực hiện mọi thứ ở Mongo, một lần nữa đây là dự án thử nghiệm đầu tiên của tôi.
các người hỏi gì nữa, chính xác? Trong các ORM, bạn vẫn cần cấu hình ORM để nó biết đối tượng nào được lưu trữ trong bảng nào; điều này buộc bạn phải có dây. Bạn chắc chắn có thể di chuyển chuỗi với tên bộ sưu tập từ cuộc gọi "get repository" đến một bước "cấu hình kho", giống như ánh xạ của Fluent Nhibernate. – Avish