我正在学习LINQpad中的LINQpad,它很棒,但是有很多魔法发生在幕后,我不太明白。我正在使用可选的IQ驱动程序连接到Oracle数据库,该驱动程序可以在LINQpad中下载。我的查询正在工作,现在我需要将它移动到Visual中的一个新项目中。
发布于 2011-11-17 07:31:41
是的,从技术上讲,在您自己的VS解决方案中使用LINQPad创建的类型化DataContext是可能的。您可以通过运行这样的查询来提取它:
File.Copy (GetType().BaseType.Assembly.Location, ...正如汤姆建议的那样,您还需要复制C:\ProgramData\LINQPad\Drivers\DataContext\4.0\IQDriver.中的支持文件请记住,LINQPad使用DevArt Oracle dotConnect作为Oracle的ADO.NET后端,您需要购买商业许可证才能在您自己的项目中使用。
另一个问题是,无法自定义类型化的DataContext,这可能在编写VS解决方案的上下文中证明是有限的(LINQPad通过Reflection.Emit生成类型化DC,因此没有需要调整的源代码)。
如果您想通过VS项目中的LINQ访问Oracle数据库,一个更好的选择可能是购买DevArt的专业版甲骨文的dotConnect,它为您提供了一个完整的堆栈,包括一个用于编写DataContexts的集成VS设计器(因此您不需要IQ)。整个体验非常类似LINQ,但对于Oracle (实际上,他们尽可能地模仿API,从而消除了学习曲线)。德瓦特的LINQ翻译引擎经过多年的改进,在翻译能力方面已经接近IQ水平(在某些方面也更好)。
发布于 2011-11-16 19:14:02
是的,您可以在项目中使用IQ (IQToolkit & IQToolkit-Oracle )。您可以从您的(C:\ProgramData\LINQPad\Drivers\DataContext\4.0\IQDriver*).安装LINQPad获得dll。
您还需要使用IQToolkit CodeGen工具来创建实体和映射。
发布于 2011-11-16 16:20:34
如您所知,Linq本机不支持Oracle。
之前的一张海报上写着:“从测试版4.35开始,LINQPad完全支持甲骨文--你现在可以执行”LINQPad“查询了。我相信它使用DevArt dotConnect库来管理这一伟大的壮举。”
这让我认为,如果您想在LinqPad之外使用相同的功能,您就必须获得dev艺术甲骨文连接器。
https://stackoverflow.com/questions/8140385
复制相似问题