我正在尝试将 EF Code First 与我的 WPF 应用程序一起使用,其想法是在 AppData/MyApp 中创建一个 SqlCe Db(如果没有)并将其与 EF Code First 一起使用。
目前,当我尝试从它应该创建的数据库中读取数据时,它会给出错误,但是当我检查数据库上下文对象时,我看到它正在尝试在 SqlExpress 中创建它。
首先,如何将其设置为与 CE 而不是 SqlExpress 一起使用并设置文件位置?
我尝试更改 app.config 中的连接字符串,但无法使其工作(它没有创建 sdf 文件),而且我不确定如何将连接字符串路径设置为 AppData 文件夹,因为它位于 User 文件夹中(不是固定的)。
以前从未使用过 SqlITe 和 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>
拥有 DbProviderFactory 也会对部署有所帮助。它将允许用户使用 SQLCE 4,而无需运行安装程序(前提是您还提供本机二进制文件,这里有一些信息:http://erikej.blogspot.com/2011/02/using-sql-server-compact-40-with.html http://erikej.blogspot.com/2011/02/using-sql-server-compact-40-with.html).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)