2008-09-16 43 views
7

Tôi đã sử dụng Khuôn khổ thực thể để bắt đầu một dự án mẫu khá đơn giản. Trong dự án, tôi đã tạo ra một mô hình dữ liệu thực thể mới từ cơ sở dữ liệu SQL Server 2000. Tôi có thể truy vấn dữ liệu bằng cách sử dụng LINQ to Entities và hiển thị các giá trị trên màn hình.Cách triển khai Cơ sở dữ liệu độc lập với khung thực thể

Tôi có một cơ sở dữ liệu Oracle với một lược đồ cực kỳ giống nhau (tôi đang cố gắng chính xác nhưng tôi không biết tất cả các chi tiết của Oracle). Tôi muốn dự án của tôi có thể chạy trên cả hai máy chủ SQL và các kho dữ liệu Oracle với nỗ lực tối thiểu. Tôi đã hy vọng rằng tôi chỉ đơn giản có thể thay đổi chuỗi cấu hình của mô hình dữ liệu thực thể của tôi và khung thực thể sẽ chăm sóc phần còn lại. Tuy nhiên, nó xuất hiện mà sẽ không làm việc liên tục như tôi nghĩ.

Có ai đã làm những gì tôi đang cố gắng làm không? Một lần nữa, tôi đang cố gắng viết một ứng dụng có thể truy vấn (và cập nhật) dữ liệu từ một cơ sở dữ liệu SQL Server hoặc Oracle với nỗ lực tối thiểu bằng cách sử dụng khung Entity. Mục tiêu thứ hai là không phải biên dịch lại ứng dụng khi chuyển đổi qua lại giữa các kho dữ liệu. Nếu tôi phải "Cập nhật mô hình từ cơ sở dữ liệu" có thể là ok vì tôi sẽ không phải biên dịch lại, nhưng tôi không muốn phải đi tuyến đường này. Có ai biết về bất kỳ bước nào có thể cần thiết không?

+2

LOL nếu nó không cung cấp sự thiếu hiểu biết về cơ sở dữ liệu, khung thực thể tốt là gì? Jeez! – Sklivvz

+0

@YeahStu .. Tôi có yêu cầu tương tự, như tôi đã thấy bài đăng là khá cũ ... Entity Framework đã sửa đổi cho đến nay .. bạn có thể đạt được độc lập cơ sở dữ liệu bằng EF .. hãy giúp tôi với điều này và chia sẻ workaround của bạn ... Rất cám ơn trước. – NMathur

Trả lời

2

Điều thường được hiểu theo thuật ngữ "Sự thiếu hiểu biết" là các lớp thực thể của bạn không bị tràn ngập các phụ thuộc khung (quan trọng đối với các kịch bản N-tier). Đây không phải là trường hợp ngay bây giờ, vì các lớp thực thể phải thực hiện một số giao diện EF ("IPOCO"), trái ngược với các đối tượng CLR cũ đơn giản. Như một poster đã đề cập, có một giải pháp gọi là Persistence Ignorance (POCO) Adapter for Entity Framework V1 cho điều đó, và EF V2 sẽ hỗ trợ POCO ra khỏi hộp.

Nhưng tôi nghĩ những gì bạn thực sự có trong đầu là độc lập với cơ sở dữ liệu. Với một cấu hình XML lớn bao gồm mô hình lưu trữ, mô hình khái niệm và ánh xạ giữa hai đối tượng mà từ đó một ObjectContext được nhập sẽ được tạo ra tại thời gian designtime, tôi cũng thấy khó để hình ảnh cách minh bạch hỗ trợ hai cơ sở dữ liệu.

Điều có thể có vẻ hứa hẹn hơn là áp dụng nhà cung cấp ADO.NET độc lập với cơ sở dữ liệu như nhà cung cấp từ DataDirect. DataDirect cũng đã công bố hỗ trợ EF cho quý 3/2008.

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