实体框架 SDF 数据库大小问题
Posted
技术标签:
【中文标题】实体框架 SDF 数据库大小问题【英文标题】:Entity Framework SDF database size issue 【发布时间】:2014-11-18 10:16:08 【问题描述】:我正在为我的一个项目使用带有实体框架的 SQL Server Compact 版本。我正在从服务器读取文件并将其保存到我的数据库中。问题是数据库大小变大(即超过最大数据库大小)并且应用程序崩溃并显示以下消息:
实体框架底层提供程序在打开时失败 数据库超过最大大小
我从各个网站阅读并尝试添加:
Max Database Size=1024
到我的连接字符串,但它说不支持关键字。我不想使用.mdf
,因为客户端也必须安装 SQL Server。
这是我的连接字符串:
<add name="Entities"
connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="data source=|DataDirectory|\DB.sdf""
providerName="System.Data.EntityClient" />
【问题讨论】:
也许尝试将文件存储在 外部.sdf
数据库文件....
一个选项是查看使用localdb
。客户端仍然需要安装一些东西,但它不是完整的 SQL Server,您可以将其安装捆绑到您自己的中。它支持最大 10GB 的数据库。
【参考方案1】:
更改连接字符串:
<add name="Entities"
connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="data source=|DataDirectory|\DB.sdf;Max database size=4091""
providerName="System.Data.EntityClient" />
另请注意,SQL Compact 数据库的最大大小为 4 GB
【讨论】:
以上是关于实体框架 SDF 数据库大小问题的主要内容,如果未能解决你的问题,请参考以下文章
如何使用实体框架打开受密码保护的 SQL Server CE 数据库