2011-07-23 35 views
49

Có thể Entity Framework hỗ trợ cơ sở dữ liệu MongoDb không? Có lẽ ai đó sẽ viết một nhà cung cấp dịch vụ EF MongoDb?Khuôn khổ thực thể và MongoDb

+0

Bất kỳ câu trả lời nào được chấp nhận ?! –

Trả lời

47

Câu trả lời ngắn gọn - không, chắc chắn có thể, nhưng không hợp lý.

MongoDB là cơ sở dữ liệu tài liệu và không hỗ trợ bất kỳ mối quan hệ vật lý nào giữa các bộ sưu tập. EF phù hợp cho các cơ sở dữ liệu quan hệ như SQL, MySQL, vv MongoDB hoạt động nhanh hơn với các tài liệu nhúng. Vì vậy, nó chỉ là hai cách tiếp cận khác nhau.

31

Kiểm tra phiên bản mới nhất của Thư viện C# MongoDB ... hỗ trợ LINQ!

http://www.mongodb.org/display/DOCS/CSharp+Driver+LINQ+Tutorial

+2

hỗ trợ LINQ có nghĩa là nó cũng hỗ trợ EF? – mehul9595

+6

@ mehul9595 Đó là một câu hỏi hay, và không, điều đó không có nghĩa là, vì vậy câu trả lời này thực sự không phải là câu trả lời cho câu hỏi được đặt ra. – hvd

+2

Liên kết này đã chết. – gunr2171

7

Tôi là một fan hâm mộ lớn của khuôn khổ thực thể, vì vậy khi tôi lần đầu tiên thử MongoDB tôi đã tạo ra một thư viện gọi là "MongoDB.Dynamic" rằng có một cách tiếp cận bên cạnh EF Mã đầu tiên. MongoDB không có quan hệ giữa các bộ sưu tập vật lý, nhưng bạn có thể mô phỏng nó. MongoDB.Dynamic có một tính năng được gọi là Eager Loading, bạn có thể cấu hình các mối quan hệ giữa các bộ sưu tập và tải các tài liệu liên quan một cách tự động nếu một thực thể có cấu trúc được quy ước. Bạn có thể thử và đọc một số tài liệu tại MongoDB.Dynamic

+0

Cập nhật liên kết: http://mongodbdynamic.codeplex.com/ – jocull

+0

@jocull thanxs. Liên kết được cập nhật –

2

Nhìn trực tuyến, RSSBus nhìn vào đã tạo ra một dll MongoDBProviderServices mà có thể được sử dụng với khuôn khổ tổ chức 6.

http://cdn.rssbus.com/help/DG1/ado/pg_ef6.htm

Các liên kết bao gồm một hướng dẫn về làm thế nào để thực hiện nó.

0

Tôi không đề xuất sử dụng phiên bản cũ của nhà cung cấp MongoDb sử dụng LINQ. Trình điều khiển C# MongoDb tốt nhất và ổn định là trình điều khiển MongoDb chính thức 2.0 cho C# sử dụng các cơ chế của Trình xây dựng.

Trình điều khiển cũ LINQ có nhiều hạn chế với cơ chế chèn hàng loạt bất tiện và chậm.

+0

Hi DotNetGoose - câu trả lời của bạn trông hữu ích, nhưng hơi khó hiểu; bạn có thể thêm một số liên kết để sao lưu những gì bạn nói, ví dụ như tài liệu chính thức của trình điều khiển MongoDB cho C? –

+0

@VinceBowdren Xin chào, tôi đã đưa ra kết luận đó dựa trên kinh nghiệm của riêng tôi khi làm việc với trình điều khiển MongoDb cũ và mới. Tôi không nhớ chi tiết, nó đã được một năm trước đây, nhưng người lái xe cũ có hiệu suất chậm hơn, cơ chế rất khó chịu của các hoạt động số lượng lớn và một số lỗi và hành vi không rõ ràng. –

Các vấn đề liên quan