2010-02-14 9 views
20

Có ai tìm thấy cách để làm cho khung thực thi ADO.NET hoạt động với các nguồn dữ liệu OLE DB hoặc ODBC không? Cụ thể, tôi cần làm việc với cơ sở dữ liệu Access vì nhiều lý do khác nhau không thể được upsized cho SQL.Khung thực thể ADO.NET với nguồn dữ liệu truy cập OLE DB

This MSDN page nói:

.NET Framework bao gồm các nhà cung cấp ADO.NET để truy cập trực tiếp đến Microsoft SQL Server (bao gồm hỗ trợ Entity Framework), và để truy cập gián tiếp đến cơ sở dữ liệu khác với trình điều khiển ODBC và OLE DB (xem Nhà cung cấp dữ liệu .NET Framework). Để truy cập trực tiếp vào cơ sở dữ liệu khác, nhiều nhà cung cấp bên thứ ba có sẵn như được hiển thị bên dưới.

Tham chiếu đến "truy cập gián tiếp vào cơ sở dữ liệu khác" là trêu ngươi nhưng tôi thú nhận rằng tôi vô vọng bị nhầm lẫn bởi tất cả các tên khác nhau cho công nghệ truy cập dữ liệu.

+0

tôi không thể tìm thấy một cách để làm điều đó. –

+0

Đây là bên ngoài bailiwick của tôi, nhưng có bạn xem xét việc gắn cơ sở dữ liệu Access/Jet/ACE như một máy chủ được liên kết trong SQL Server, và sau đó sử dụng các nhà cung cấp máy chủ SQL? Đó sẽ là cách tôi đọc tham chiếu đến "truy cập gián tiếp". –

+2

Tôi khá chắc chắn rằng "(bao gồm cả hỗ trợ Entity Framework)" bit chỉ áp dụng cho SQL Server trong khi nhà cung cấp MS đi. Máy chủ được liên kết có thể đáng để quay. –

Trả lời

1

Theo hiểu biết tốt nhất của tôi, điều này là không thể khi sử dụng khung pháp nhân. Tuy nhiên, bạn có thể sử dụng linq để tập dữ liệu để truy cập cơ sở dữ liệu Access (không có ý định chơi chữ).

http://msdn.microsoft.com/en-us/library/bb386977.aspx

1

EF không thể sử dụng OLE DB trực tiếp vì một nhà cung cấp EF có dịch C# vào cú pháp SQL cụ thể (OLE DB là một kết nối đến một số DBMS với một số cú pháp SQL).

Nếu bạn cần một EF 6.1 cung cấp cho MS Access bạn có thể có một cái nhìn ở đây https://jetentityframeworkprovider.codeplex.com/