使用实体框架时如何设置最大数据库大小?
Posted
技术标签:
【中文标题】使用实体框架时如何设置最大数据库大小?【英文标题】:How do I set the maximum database size when using Entity Framework? 【发布时间】:2011-11-02 02:50:26 【问题描述】:我在我的 WPF 应用程序中使用实体框架和 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.
但是,DB 仅接近 256MB,这与上面链接中的文章一致。
【问题讨论】:
【参考方案1】:这似乎有效:
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。
【讨论】:
【参考方案2】:或者使用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>
【讨论】:
以上是关于使用实体框架时如何设置最大数据库大小?的主要内容,如果未能解决你的问题,请参考以下文章
System.OutOfMemoryException - 当实体框架查询 Varbinary 类型的太大数据时