我使用Visual Studio 2010和.NET 4(Win7 / x64)创建了一个描述here的项目。一旦我将平台目标更改为“任何CPU”,示例项目就可以运行。但是,如果尝试从实体数据模型生成模型(右键单击模型并选择“从模型生成数据库”),我会收到以下错误。
无法找到合适的DbProviderManifest来生成SSDL。提供的提供程序不变名称'System.Data.SqlServerCe.3.5'无效。
我在项目中引用了System.Data.SqlServerCe。
答案 0 :(得分:2)
我似乎刚刚修好了
错误175:在配置中找不到指定的商店提供商,或者无效。
以XML或设计师的身份打开.emdx
eitehr。
我需要添加元素
<add name="Microsoft SQL Server Compact Data Provider"
invariant="System.Data.SqlServerCe.3.5"
description=".NET Framework Data Provider for Microsoft SQL Server Compact"
type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
我的machine.config
作为<configuration><system.data><DbProviderFactories>
下的第二个条目(与SQL Compact V4类似的条目)。
这使得它与另一个我没有收到错误175的系统相匹配。
NB。将此项添加到app.config
对于设计人员来说还不够(如果尚未安装CE 3.5工具,搜索网络表明在运行时需要这样做。)
答案 1 :(得分:2)
更新@Richard的回答:
如果使用 SQL Server Compact Edition v4.0 ,则应在machine.config文件中包含以下行:
<system.data>
<DbProviderFactories>
<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>
答案 2 :(得分:0)