[英]How do I connect to a .sdf local database file in C#
我正在使用本地SQL Server CE数据库文件( .sdf
)和实体框架来完成我的任务。
我创建了我的模型,现在实体框架应该将它们映射到本地数据库。
我在我的Main
方法中有这个代码,它将一些数据插入数据库(检查):
var db = new Context()
var blog = new Blog { Name = 'FirstBlog'};
db.Blogs.Add(blog);
db.SaveChanges();
这是我的连接字符串:
<connectionStrings>
<add name="Connection"
connectionString="Data source=|DataDirectory|\LocalDB.sdf""
providerName="System.Data.EntityClient" />
</connectionStrings>
当我运行它时,我收到此错误:
初始化字符串的格式不符合从索引0开始的规范。
我已经尝试了几个连接字符串但没有工作。
我怎样才能解决这个问题?
更新:
建议我将连接字符串更改为:
<connectionStrings>
<add name="Connection"
connectionString="provider=System.Data.SqlServerCe.4.0;provider connection string="Data source=|DataDirectory|\LocalDB.sdf""
providerName="System.Data.EntityClient" />
</connectionStrings>
但这给了我以下错误:
连接字符串中缺少一些必需的信息。 始终需要'metadata'关键字。
首先安装此EntityFramework.SqlServerCompact nuget包,然后将您的连接字符串设置为somting,如下所示:
<connectionStrings>
<add name="connection" connectionString="Data Source=|DataDirectory|\TestDb.sdf"
providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
**注意:**默认情况下,实体框架将创建TestDb.sdf,如果它在您的解决方案\\bin\\Debug
目录中不存在,则在部署之后它将位于C:\\Users\\YourUserName\\AppData\\Roaming
此目录中
我认为这是一个Sql Server Compact文件,因此您的提供程序需要是System.Data.SqlServerCe提供程序之一。
<connectionStrings>
<add name="MyCS" connectionString="Data Source=|DataDirectory|\Database1.sdf"
providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.