Tia*_*iax 5 c# wpf sql-server-ce ef-code-first
我正在尝试在我的WPF应用程序中使用EF Code First,其想法是在AppData/MyApp中创建一个SqlCe Db(如果没有),并将其与EF Code First一起使用.
当我尝试从它应该创建的数据库中读取数据时,它正在给出错误,但是当我检查数据库上下文对象时,我看到它正在尝试在SqlExpress中创建它.
首先,我如何设置它与CE而不是SqlExpress一起使用并设置文件位置?
我尝试在app.config中更改连接字符串,但无法使其工作(它没有创建sdf文件),而且我也不确定如何设置连接字符串路径到AppData文件夹,因为它在用户文件夹中(不是固定).
从未使用过SqlCe或EF Code First,所以欢迎任何帮助和赞赏.
提前致谢.
经过大量的捣乱,我已经设法让它工作了.我的app.config有以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="Database"
connectionString="Data Source=Database.sdf"
providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />
<add name="Microsoft SQL Server Compact Data Provider 4.0"
invariant="System.Data.SqlServerCe.4.0"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在部署中使用DbProviderFactory也会有所帮助.这将允许用户使用SQLCE 4不运行它的安装程序(在这里为您提供本地binares还有,一些信息:http://erikej.blogspot.com/2011/02/using-sql-server-compact- 40-with.html).