有没有办法将Linq用于Oracle

时间:2008-08-27 18:18:29

标签: linq oracle

我可以将DataContext连接到Oracle数据库,但是在针对oracle数据库运行查询时遇到错误。我查看了生成的SQL,它适用于MSSQL而不是Oracle PSQL。

有没有人知道一个容易使用的包装器来使用LINQ来对抗Oracle数据库?

11 个答案:

答案 0 :(得分:12)

不,LINQ to SQL仅限于MS SQL - 将其视为客户端驱动程序。

Microsoft is/was helping Oracle and DataDirect develop providers for Oracle and other non-MS database servers.

答案 1 :(得分:10)

我们使用Devart的OraDirect驱动程序。它包括ADO.NET Entity框架支持。您可以下载试用版here。然后,您可以在此基础上使用LINQ到实体或实体SQL。

这个定价非常适合开发人员,您可以根据开发人员的座位付费,也可以随意使用。

这个驱动程序的另一个重要优点是你可以在不安装Oracle客户端的情况下使用它,这是一个很大的优势,值得单独付出代价。

@Greg:我们也评估了数据直接驱动程序,但性能很差且成本太高。

编辑:似乎DevArt最近宣布了LINQ support的测试版

答案 2 :(得分:4)

您可能会关注的一件事是,现在有LINQ to Entities,它利用了MS Entity Framework,我相信这与DB无关。我现在仍然在研究它是如何工作的,但是如果你可以创建一个与Oracle接口的ADO.NET数据实体,那么你可以使用LINQ来对抗那个实体。

答案 3 :(得分:4)

还有Lightspeed,它有一个每个组织(不是每个开发人员)的许可方案,似乎有一个非常可靠的文档库和免费试用版(最多8个实体)。我现在正在检查这个。

答案 4 :(得分:4)

经过长时间的搜索后,我找到了DbLinq并应该做到了。我将亲自尝试一下。我遇到了你的问题,因为我正在寻找相同的解决方案。希望它有所帮助。

答案 5 :(得分:3)

尽管看看Linq的实体。我有一个datareader填充映射到oracle表的对象集合。我可以使用linq以非常强大,简单和简单的方式查询该集合。我喜欢它。强烈推荐。

答案 6 :(得分:3)

尝试Devart LinqConnect。该产品允许您使用Oracle等。

答案 7 :(得分:2)

为什么不试试ALinq?http://www.alinq.org

答案 8 :(得分:1)

查看codeplex: Linq To Oracle project

答案 9 :(得分:0)

不是一种简单的方法,至少在产生好的提供者之前。

MS真的应该提供至少一个OLEDB Linq提供商。毕竟,Linq to Sql基本上是一个具有设计器支持的IQueryable实现。

答案 10 :(得分:0)

另一个在Oracle,SQLite,MySQL和SQL Server上运行良好的跨数据库解决方案是eXpress Persistent Objects