Как установить максимальный размер базы данных при использовании Entity Framework? - PullRequest
6 голосов
/ 02 ноября 2011

Я использую Entity Framework и SQL CE 4.0 с моим приложением WPF.Как мне установить максимальный размер базы данных в соответствии с этой статьей, http://blogs.msdn.com/b/sqlservercompact/archive/2007/06/13/the-story-of-max-database-size-connection-string-parameter.aspx, в которой говорится:

мы не всегда увеличиваем до 4 ГБ, нецелесообразно выделять общую памятьдля размещения всех записей / ссылок на страницы для поддержки 4 ГБ.

В настоящее время при попытке добавления новых данных я получаю следующую ошибку:

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

Однако БД является толькоблизость к 256 МБ, что соответствует статье в ссылке выше.

Ответы [ 2 ]

8 голосов
/ 02 ноября 2011

Кажется, что это работает:

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

Где третий параметр - строка подключения, и вы изменяете параметр Max Database Size, в противном случае он по умолчанию равен 256 МБ.

6 голосов
/ 10 августа 2012

В качестве альтернативы можно использовать 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>
...