首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从LINQpad迁移到适当的Visual项目?

从LINQpad迁移到适当的Visual项目?
EN

Stack Overflow用户
提问于 2011-11-15 17:19:28
回答 3查看 2.1K关注 0票数 7

我正在学习LINQpad中的LINQpad,它很棒,但是有很多魔法发生在幕后,我不太明白。我正在使用可选的IQ驱动程序连接到Oracle数据库,该驱动程序可以在LINQpad中下载。我的查询正在工作,现在我需要将它移动到Visual中的一个新项目中。

  1. 在Visual中是否可以在我的解决方案中使用IQ?--我似乎找不到在LINQpad之外使用它的任何信息。我试图使用DbLinq的DbMetal工具来生成正确的连接类,但是我的模式中的某些东西以一种不符合IQ的方式扼杀了该工具。
  2. 可以以某种方式导出LINQpad生成的代码吗?生成的Oracle连接代码在LINQpad中工作得很好--是否有一种方法可以重用生成的代码?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-17 07:31:41

是的,从技术上讲,在您自己的VS解决方案中使用LINQPad创建的类型化DataContext是可能的。您可以通过运行这样的查询来提取它:

代码语言:javascript
复制
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水平(在某些方面也更好)。

票数 2
EN

Stack Overflow用户

发布于 2011-11-16 19:14:02

是的,您可以在项目中使用IQ (IQToolkit & IQToolkit-Oracle )。您可以从您的(C:\ProgramData\LINQPad\Drivers\DataContext\4.0\IQDriver*).安装LINQPad获得dll。

您还需要使用IQToolkit CodeGen工具来创建实体和映射。

票数 2
EN

Stack Overflow用户

发布于 2011-11-16 16:20:34

如您所知,Linq本机不支持Oracle。

之前的一张海报上写着:“从测试版4.35开始,LINQPad完全支持甲骨文--你现在可以执行”LINQPad“查询了。我相信它使用DevArt dotConnect库来管理这一伟大的壮举。”

这让我认为,如果您想在LinqPad之外使用相同的功能,您就必须获得dev艺术甲骨文连接器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8140385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档