Csharp/C#教程:从LINQpad迁移到适当的Visual Studio项目?分享


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

我正在学习LINQpad中的LINQ to SQL并且它很棒,但是我不太了解它下面有很多魔法。 我使用可以在LINQpad中下载的可选IQ驱动程序连接到Oracle数据库。 我有我的查询工作,现在我需要将它移动到Visual Studio中的新项目。

  1. 是否可以在Visual Studio的解决方案中使用IQ? 我似乎无法找到有关在LINQpad之外使用它的任何信息。 我试图使用DbLinq的DbMetal工具来生成正确的连接类,但是我的模式中的某些东西正在以一种不适用于IQ的方式阻塞该工具。

  2. 可以以某种方式导出生成的LINQpad代码吗? 生成的Oracle连接代码在LINQpad中完美运行 – 有没有办法只重用生成的代码?

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

File.Copy (GetType().BaseType.Assembly.Location, ... 

正如Tom建议的那样,您还需要在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 for Oracle ,它为你提供了一个完整的堆栈,包括一个用于编写DataContexts的集成VS设计器(所以你不需要IQ) 。 整个体验非常像LINQ to SQL,但对于Oracle(事实上,他们尽可能模仿API,消除了学习曲线)。 DevArt的LINQ翻译引擎多年来已经有所改进,现在已经接近IQ的翻译能力(在某些方面更好)。

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

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

如您所知,Linq to SQL本身不支持Oracle。

之前的SO海报上写道:“从测试版本4.35开始,LINQPad完全支持Oracle – 你现在可以进行”LINQ to Oracle“查询。我相信它使用DevArt dotConnect库来管理这个伟大的壮举。” [见https://stackoverflow.com/questions/1376132/linqpad-and-oracle/6821073#6821073]

这让我觉得如果你想要在LinqPad之外使用相同的function,那么你必须得到dev art oracle连接器

上述就是C#学习教程:从LINQpad迁移到适当的Visual Studio项目?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1014849.html

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐