【发布时间】:2008-08-27 18:18:29
【问题描述】:
我可以将 DataContext 连接到 Oracle 数据库,但是在针对 oracle 数据库运行查询时出现错误。我查看了生成的 SQL,它是针对 MSSQL 而不是 Oracle PSQL。
有没有人知道一个体面且易于使用的包装器来针对 Oracle 数据库使用 LINQ?
【问题讨论】:
我可以将 DataContext 连接到 Oracle 数据库,但是在针对 oracle 数据库运行查询时出现错误。我查看了生成的 SQL,它是针对 MSSQL 而不是 Oracle PSQL。
有没有人知道一个体面且易于使用的包装器来针对 Oracle 数据库使用 LINQ?
【问题讨论】:
不,LINQ to SQL 非常仅限于 MS SQL - 将其视为客户端驱动程序。
【讨论】:
我们使用 Devart 的 OraDirect 驱动程序。它包括 ADO.NET 实体框架支持。您可以下载试用版here。然后,您可以在此之上使用 LINQ 到实体或实体 SQL。
此定价对开发人员非常友好,您为每个开发人员席位付费,您可以随心所欲地使用它。
此驱动程序的另一大优点是您无需安装 Oracle 客户端即可使用它,这是一个很大的优势,而且物有所值。
@Greg:我们也评估了 datadirect 驱动程序,但性能很差,而且成本高昂。
编辑:似乎 DevArt 最近宣布了一个带有 LINQ support 的测试版
【讨论】:
您可能会研究的一件事是,现在有 LINQ to Entities,它利用了 MS Entity Framework,我认为它与 DB 无关。我自己还在研究它是如何工作的,但是如果您可以创建一个与 Oracle 交互的 ADO.NET 数据实体,那么您就可以针对该实体使用 LINQ。
【讨论】:
还有Lightspeed,它有一个按组织(而不是按开发人员)的许可方案,似乎有一个非常可靠的文档库和一个免费试用版(最多 8 个实体)。我正在检查这个。
【讨论】:
经过长时间的搜索,我找到了DbLinq,应该可以解决问题。我要自己试试。我遇到了您的问题,因为我正在寻找相同的解决方案。希望对您有所帮助。
【讨论】:
请查看 Linq to 实体。我有一个数据读取器填充映射到 oracle 表的对象集合。我可以使用 linq 以非常强大、简单和容易的方式查询该集合。我喜欢它。强烈推荐。
【讨论】:
试试 Devart LinqConnect。该产品允许您使用 Oracle 等。
【讨论】:
为什么不试试ALinq?http://www.alinq.org
【讨论】:
查看 codeplex: Linq To Oracle project
【讨论】:
这不是一个简单的方法,至少在产生一个好的提供者之前是这样。
真的,MS 应该至少提供一个 OLEDB Linq 提供程序。毕竟,Linq to Sql 基本上是带有设计器支持的 IQueryable 的实现。
【讨论】:
另一个在 Oracle、SQLite、MySQL 和 SQL Server 上运行良好的跨数据库解决方案是 eXpress Persistent Objects
【讨论】: