2011-11-02 11 views
6

Używam Entity Framework i SQL CE 4.0 z moją aplikacją WPF. Jak mogę ustawić maksymalny rozmiar bazy danych zgodnie z niniejszym artykułem, http://blogs.msdn.com/b/sqlservercompact/archive/2007/06/13/the-story-of-max-database-size-connection-string-parameter.aspx który stwierdza:Jak ustawić maksymalny rozmiar bazy danych podczas korzystania z Entity Framework?

nie zawsze rosną do 4 GB, to nie jest mądre, aby przydzielić pamięci współdzielonej aby pomieścić wszystkie wpisy w/referencje do obsługi 4 GB.

Obecnie pojawia się następujący komunikat o błędzie podczas próby dodania nowych danych:

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

Jednak DB sięga tylko blisko 256 MB, co jest zgodne z artykułem w linku powyżej.

Odpowiedz

8

To wydaje się działać:

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

Jeżeli trzeci parametr to ciąg połączenia i zmienić parametr Max Database Size inaczej to domyślnie do 256 MB.

6

Alternatywnie pomocą 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> 
Powiązane problemy