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

时间:2011-11-02 02:50:26

标签: 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.

然而,数据库仅达到接近256MB,这与上面链接中的文章一致。

2 个答案:

答案 0 :(得分: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());

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

答案 1 :(得分: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>