2011-11-02 16 views
6

Sto utilizzando Entity Framework e SQL CE 4.0 con la mia applicazione WPF. Come faccio a impostare la dimensione massima del database ai sensi del presente articolo, http://blogs.msdn.com/b/sqlservercompact/archive/2007/06/13/the-story-of-max-database-size-connection-string-parameter.aspx in cui si afferma:Come si imposta la dimensione massima del database quando si utilizza Entity Framework?

non sempre crescono a 4 GB, non è saggio per allocare la memoria condivisa per accogliere tutti i pagina Voci/riferimenti per supportare 4 GB.

Attualmente, ottengo il seguente errore quando si cerca di aggiungere nuovi dati:

The database file is larger than the configured maximum database size. 

Tuttavia, il DB è solo raggiungendo vicino a 256MB, che è in linea con l'articolo del link qui sopra.

risposta

8

Questo sembra funzionare:

SqlCeConnectionFactory sqlCeConnection = 
    new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0", 
    "", "Max Database Size=4000;Persist Security Info=False;"); 
DbDatabase.DefaultConnectionFactory = sqlCeConnection; 
DbDatabase.SetInitializer(new SampleData()); 

Se il terzo parametro è la stringa di connessione e si modifica il parametro Max Database Size altrimenti il ​​default è 256 MB.

6

alternativa utilizzando il app.config:

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework"> 
     <parameters> 
      <parameter value="System.Data.SqlServerCe.4.0"/> 
      <parameter value=""/> 
      <parameter value="Max Database Size=4000"/> 
     </parameters> 
    </defaultConnectionFactory> 
</entityFramework> 
Problemi correlati