SqlServer CE 3.5 support

Posts   
 
    
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39903
Joined: 17-Aug-2003
# Posted on: 02-Apr-2008 18:00:58   

I'm almost done with converting the SqlServer DQE to use the DbProviderFactories so it can be used with sqlserver 7, 2000, 2005, 2008, CE Desktop 3.x and CE Desktop 3.5, so CE Desktop users don't have to re-generate with different templates, it's just a setting in the config file. simple_smile

That's the good news. wink

The bad news is that SqlServer CE Desktop is incredibly lame. Especially 3.1/3.0, which don't support derived tables at all, so you won't be able to run much linq queries on them. 3.5 is a little bit better but still a lot of our tests fail because it doesn't allow a nested scalar query anywhere, it only allows nested SELECT statements in the FROM clause. disappointed

So, for everyone looking for using linq with sqlserver ce desktop, it's not us who dropped the ball here, Microsoft thought it was more efficient to release a CE Desktop engine which is too crippled (I mean, MS Access has more features!) and IMHO for no reason at all.

ANyway, if you avoid scalar queries you're fine on sqlserver CE 3.5 desktop, however with linq you'll never know what the query ends up in. This makes multi-db code pretty error prone, as it breaks, IF it breaks, at runtime, not at compile time.

As these nested selects are part of the query to execute, we can't rewrite them into something else, so if you run into this problem, there's little you can do (perhaps switch to ms access wink ).

Frans Bouma | Lead developer LLBLGen Pro