【问题标题】:The selected object(s) use an unsupported database provider所选对象使用不受支持的数据库提供程序
【发布时间】:2011-04-06 18:32:29
【问题描述】:

我正在使用Visual Studio 2010
在我的项目中,我添加了一个本地数据库 Data.sdf
现在我想使用LINQ TO SQL,但是当我将数据库表拖放到 LINQ 设计器中时,我在 Visual Studio 中收到以下错误:

"The selected object(s) use an unsupported database provider"

我错过了什么吗?
我该如何解决?

【问题讨论】:

  • 也许您的表中有一个列,其中的数据类型在 LINQ to SQL 中不受支持。地理、几何和层次数据类型就是这种情况。唯一的方法是不引用这些列并修改它们,以便它们可以保存空值。
  • 还要确保您的数据库是 SQL Server 数据库。 LINQ to SQL 不支持其他数据库。

标签: sql c#-4.0 linq-to-sql sql-server-ce sdf


【解决方案1】:

LINQ-to-SQL 仅在与完整版 Microsoft SQL Server(包括 Express 版)一起使用时才受到官方支持。虽然可以将它与 SQL Server CE(这似乎是您正在尝试做的事情)和其他一些一起使用,但需要额外的步骤。

您可以:

  • 使用SqlMetal.exe 生成您的 .dbml 文件,然后将其加载到您的项目中(假设您使用的是 SQLCE 3.5;它似乎不适用于 4.0)
  • 在本地计算机上的 SQL Server Express 数据库中保留数据库架构的相同副本。将其用于设计工作,然后在运行时连接到您的 SQL CE 数据库。

【讨论】:

    【解决方案2】:

    LINQ to SQL 不支持几何、地理和层次结构数据类型。唯一的方法是不引用这些列并修改它们以便它们可以保存空值

    【讨论】:

      【解决方案3】:

      我遇到了这个问题,但在从 Nuget 安装 EntitiFramework 包后问题得到解决。 ppm> install-package EntityFramework

      【讨论】:

        猜你喜欢
        • 2023-03-09
        • 2020-06-07
        • 2016-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多