【问题标题】:SQL Server Compact Edition with Entity Framework带有实体框架的 SQL Server Compact Edition
【发布时间】:2009-10-16 13:59:07
【问题描述】:

我尝试在 Visual Studio 2008 SP1 中使用带有实体框架的 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?)。当我按下新建连接时,我只能在 Microsoft SQL Server、Microsoft SQL Server 数据库文件中进行选择,并且 - 我不能选择 Microsoft SQL Server CE。如果我选择其他,则会显示数据源“.NET Framework Data Provider for SQL Server”,这不是我想要的。

我在这里缺少什么?为什么我不能在添加实体数据模型向导中选择我的 SQL Server CE 数据库?

【问题讨论】:

    标签: c# sql entity-framework sql-server-ce


    【解决方案1】:

    不确定这是否是同一个问题,但我认为必须下载 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 组件。

    【讨论】:

      【解决方案2】:

      VS2010 中没有对 SQL CE 4.0 CTP1 的设计时支持。 因此您不能将 SQL CE 4.0 与实体框架一起使用。

      但可以使用一些 hack 来创建。

      下面是使用 Entity Framework for SQL Ce 的教程的链接。

      http://getsrirams.blogspot.com/2010/10/adonet-entity-data-model-for-sqlserver.html

      【讨论】:

        【解决方案3】:

        如果您正在寻找创建 Sql Server Compact 3.5 连接的方法并且找不到该选项,只需关闭您的 VS 并从 vs2010 dvd 运行 SSCEVSTools-esn.msi。 D:\Visual Studio 2010\WCU\SSCE

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-09
          相关资源
          最近更新 更多