使用Entity Framework时如何设置最大数据库大小?

Set*_*eth 6 sql-server entity-framework sql-server-ce

我在我的WPF应用程序中使用Entity Framework和SQL CE 4.0.如何根据本文设置最大数据库大小,http://blogs.msdn.com/b/sqlservercompact/archive/2007/06/13/the-story-of-max-database-size-connection- string-parameter.aspx,其中指出:

我们并不总是增长到4 GB,分配共享内存以容纳支持4 GB的所有页面条目/引用是不明智的.

目前,我在尝试添加新数据时收到以下错误:

The database file is larger than the configured maximum database size.
Run Code Online (Sandbox Code Playgroud)

但是,DB只达到接近256MB,这与上面链接中的文章一致.

Set*_*eth 8

这似乎有效:

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

其中第三个参数是连接字符串,您更改参数,Max Database Size否则默认为256MB.


Tom*_*ter 6

或者使用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>
Run Code Online (Sandbox Code Playgroud)