我尝试在Visual Studio 2008 SP1中使用带有Entity Framework的SQL Server Compact Edition。这是我的所作所为:
1)我创建了一个类型为Console Application的新项目。
2)我右键单击该项目,选择Add-> New Item。
3)我选择添加名为Something.sdf的本地数据库
4)在“添加新项”向导的下一页中,我选择默认数据集名称(SomethingDataSet)
现在,在服务器资源管理器中,新数据库Something.sdf显示在“数据连接”下。 5)我再次右键单击该项目,然后选择Add-> New Item。
6)我选择使用默认名称Model1.edmx
添加ADO.NET实体数据模型7)在向导的下一页中,我选择从数据库生成模型。
现在它问我“应用程序使用哪种数据连接来连接数据库?”。在此对话框中,我可以选择使用预先创建的数据连接,还是创建新连接。
预先创建的数据连接的下拉列表是空的(我原本希望在这里看到我的Something.sdf?)。当我按下New Connection时,我只能选择Microsoft SQL Server,Microsoft SQL Server数据库文件,而且 - 我不能选择Microsoft SQL Server CE。如果我选择Other,则会显示数据源“.NET Framework数据提供程序for SQL Server”,这不是我想要的。
我在这里缺少什么?为什么我不能在添加实体数据模型向导中选择我的SQL Server CE数据库?
答案 0 :(得分:4)
不确定这是否是同一个问题,但我认为必须下载SQL Server Management Studio Express 2008才能在下拉列表中选择CE作为选项。我会更多地了解它,并给你一个更好的回应。
编辑:
如果浏览到:C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config
你应该找到以下节点:
<configuration>
<system.data>
<DbProviderFactories>
<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"/>
如果你没找到它,请告诉我。
编辑2:
我一直在运行VS 2010 beta 1,您列出的过程允许我选择SQL CE。但是,我启动了2008并获得与您相同的结果,SQL CE不再是数据源的选项。
我在2008年第一次开始我的项目,我不得不安装“Microsoft SQL Server Compact 3.5 SP1 Beta for Entity Framework Beta 3”,如以下链接所示:
http://technet.microsoft.com/en-us/library/cc835494.aspx
但是,下载似乎不再可用。我无法在任何地方找到它,他们在文章中提供的链接也被破坏了。
升级到2010后我遇到了同样的问题,CE不是一个选项,所以我尝试重新安装VS 2008 SP1,并最终发现我所要做的就是将上面提到的节点添加到C:\ WINDOWS \ Microsoft.NET \ Framework \ v4.0.20506 \ Config中的machine.config。
很抱歉,我的帮助不大,但我想我的2008 SP1也遇到了同样的问题。
编辑3: 看来2008 SP1应该“正常工作”而不需要安装“Compact 3.5 SP1 Beta for Entity Framework”但是当我尝试安装2008 Service Pack 1时,我仍然会遇到相同的症状。只剩下想到的是尝试重新安装一些SQL CE 3.5组件。
答案 1 :(得分:1)
VS2010中没有SQL CE 4.0 CTP1的设计时支持。 所以你不能将SQL CE 4.0与Entity Framework一起使用。
但可以使用少量黑客创建。
以下是使用Entity Framework for SQL Ce的教程的链接。
http://getsrirams.blogspot.com/2010/10/adonet-entity-data-model-for-sqlserver.html
答案 2 :(得分:1)
如果您正在搜索创建Sql Server Compact 3.5连接的方法并且找不到该选项,只需关闭VS并从vs2010 dvd运行SSCEVSTools-esn.msi。 D:\ Visual Studio 2010 \ WCU \ SSCE