The selected object(s) use an unsupported database provider

Mohammad Dayyan picture Mohammad Dayyan · Apr 6, 2011 · Viewed 7.4k times · Source

I'm using Visual Studio 2010
In my project I was added a local database Data.sdf
Now I wanna use LINQ TO SQL with it, but when I drag and drop the database table into the LINQ designer , I get the following error in Visual Studio :

"The selected object(s) use an unsupported database provider"

Am I miss something ?
How can I fix it ?

Answer

Adam Robinson picture Adam Robinson · Apr 6, 2011

LINQ-to-SQL is only officially supported when used with a full version of Microsoft SQL Server (including Express editions). While it's possible to use it with SQL Server CE (which is what it appears you're trying to do) and some others, extra steps are required.

You can either:

  • Use SqlMetal.exe to generate your .dbml file, then load it into your project (assuming you're using SQLCE 3.5; it doesn't appear to work with 4.0)
  • Keep an identical copy of your database schema in a SQL Server Express database on your local machine. Use that for design work, then connect to your SQL CE database at runtime.