这是这个问题的后续问题:
Moving From LINQpad to a Proper Visual Studio Project?
..但我无法让它正常工作。
对该问题的回答建议将上下文程序集转储为dll但是虽然我已经这样做了,当我将其作为引用导入时,我不清楚如何创建该上下文的实例,指出它在数据库中实际运行查询,如下所示:
var db = new ContextFromThatDLL(myconnectionstring);
var query =来自db.MYTABLE,其中a.ID == 1选择a;
额外信息:
我正在使用LinqPad中的IQ驱动程序连接到Oracle。
我做已经拥有DevArt的许可证(IQ驱动程序使用),但我知道IQ驱动程序从LINQ生成自己的SQL - 我更喜欢它。另外,我在LinqPad中开发查询,这对我的工作流程很有用,但发现DevArt并不总能生成与IQ一样好的SQL。
答案 0 :(得分:7)
首先,在LINQPad中提取类型化数据上下文,如下所示:
string dcPath = GetType().BaseType.Assembly.Location;
string targetFolder = @"c:\temp";
File.Copy (dcPath, Path.Combine (targetFolder, Path.GetFileName (dcPath)));
然后在Visual Studio中,引用类型化数据上下文DLL以及驱动程序文件夹中的以下DLL:
加上DevArt驱动程序。
然后,您可以按如下方式实例化类型化数据上下文(这说明了如何为SQLite执行此操作):
var dc = new LINQPad.User.TypedDataContext (IQToolkit.Data.DbEntityProvider.From
("IQToolkit.Data.Sqlite", @"Data Source=D:\SQLite.NET\nutshell.db",
"LINQPad.User.TypedDataContext"));
var customerCount = dc.Customers.Count();
这应该让你开始。请记住警告,如您所链接的答案中所述!