使用LinqPad的Connections来实例化ObjectContext / DbContext

时间:2013-10-17 07:35:47

标签: entity-framework database-connection connection-string linqpad objectcontext

我在LinqPad中使用EntityFramework (ObjectContext)定义了2个不同的连接(命名为“Connection1”和“Connection2”)。

当我现在在LinqPad中定义一个查询(语句或程序)时,我必须从ComboBox中选择一个我想用于查询的连接。

假设我选择Connection“Connection1”我现在可以针对Context编写查询并执行它们,但我还需要使用使用“Connection2”的ObjectContext。

是否可以使用我在LinqPad中指定的Connections作为ConnectionString来实例化新的ObjectContext,或者LinqPad中是否有工厂来创建EntityConnection。

示例:

Connection2Container context = new Connection2Container("Connection2");
// or
EntityConnection connection = LinqPadFactory.CreateEntityConnection("Connection2");
Connection2Container context = new Connection2Container(connection);

2 个答案:

答案 0 :(得分:0)

是的,这完全有可能。

有两种“标准”方法。

  1. 选择要用作主连接的连接。然后按住ctrl键,同时将第二个/第三个/第n个连接从左侧的架构概述拖到查询窗口中。 在此之后,您将不得不使用稍微不同的语法来访问您的实体

    Connection1.Persons.Where(x=> ....)
    
    Connction2.OrderDetails.Join(...)
    
  2. 单击“添加新的Linq-To-Sql连接”。单击“包括其他数据库”,然后单击“

  3. 据我所知,这只适用于Linqpad Premium(也许是专业版)。我使用的是高级版,所以我无法亲自检查专业版。

    亲切的问候。

答案 1 :(得分:0)

您可以添加包含ObjectContexts的程序集作为引用。打开查询属性(按 F4 ),然后在查看其他参考选项卡时单击浏览... 按钮以拉入装配。现在,您可以像使用任何.NET项目一样使用ObjectContexts。