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