ADO.NET Entity Framework only works with SQL Server, or did it?

Posted: (EET/GMT+2)

 

Microsoft originally developed Entity Framework so that .NET developers could easily create an object model around their SQL databases. However, Microsoft's own demos show only SQL Server along with Entity Framework (EF). Also the fact that when you by default are creating a database connection for EF, only SQL Server data sources are shown, can lead you think that EF is essentially SQL Server only.

Personally, I've also noticed the same, but since I really haven't had the need to work with other databases than SQL Server lately, I haven't bothered to check the real situation: is EF compatible with other databases than just SQL Server? The answer is that yes, EF is compatible with other databases than just SQL Server, even though Microsoft would like you to think so.

However, on MSDN Code Gallery, there exists a sample Entity Framework provider for Oracle. Similarly, if you are working with Sybase, then there's also a driver available for you, too.

Thus the real situation is this: you can use EF with any compatiable SQL database that has proper ADO.NET drivers available. But by default it happens that only SQL Server drivers come with the .NET Framework.