Entity Framework e Sql Server Compact

Nel tempo libero sto facendo un progettino, per provare finalmente WPF. Ho deciso di usare Entity Framework e come base di dati un database SqlCompact; la versione del Sql Compact è la 3.5 sp1.

Nel gestire anagrafiche di comuni, province e regioni ho usato come chiave primaria i codici istat salvati come varchar. A causa di questa scelta mi è capitato di imbattermi in un errore singolare: ogni volta che provavo a caricare le i comuni di una provincia (o le province di una regione) con Deferred Load veniva sollevata una eccezione con questo messaggio

Nelle clausole WHERE, HAVING, GROUP BY, ON o IN i tipi di dati ntext e image possono essere utilizzati solo con i predicati LIKE e IS NULL

Lo stesso errore non accadeva se li caricavo preventivamente (col metodo Include).

L'errore di per se mi pare strano sostanzialmente per due motivi:

  • il tipo campo che ho usato è nvarchar e non ntext
  • se mi da problemi con il WHERE del Deferred Load perchè non me li da con quello del Eager Load

Sul web non ho trovato granchè. Alla luce di questo desumo che potrebbe trattarsi di un bug.

Ho deciso quindi che ho trovato un ulteriore motivo per scegliere di usare la solita chiave numerica identity, invariante e priva di significato, mantenendo un vincolo di univocità sul campo codice. In questo modo il tutto funziona correttamente.

 

Matteo

 

 

Print | posted @ giovedì 15 gennaio 2009 12:23

Comments on this entry:

Gravatar # Sql Server Compact, Identity ed Entity Framework
by NExT Life at 17/01/2009 17:54

Sql Server Compact, Identity ed Entity Framework
Gravatar # Mr
by Lod Repon at 16/01/2013 17:38

What an amazing blog. I have found this blog very interesting because I have gotten the most read information. This blog help me out otherwise I don’t know how much time I have to spend for getting right information. best penny auctions
Comments have been closed on this topic.