LinqPad跨数据库与自定义DataContext

时间:2016-03-07 14:48:21

标签: c# linq linq-to-sql linqpad

我尝试编写跨数据库查询来比较不同环境中的查询结果,以确保两个环境的行为相同。我想在多个表上运行相同的查询来比较结果。

我试图以通用方式执行此操作,因此我可以提供我想要的表格,而不必复制比较和撤销代码,但我不知道如何访问具有自定义DataContext类型的链接数据库。

我使用此CompareResult类型来存储差异:

class CompareResult<T> : CompareResult 
    where T: class
{
    public CompareResult(DataContext ctx, DataContext qaCtx, Expression<Func<T, bool>> expr) {
        DevResults = ctx.GetTable<T>().Where(expr);
        QAResults = qaCtx.GetTable<T>().Where(expr);
    }
}

我遇到的问题是如何从Linqpad qaCtx获取UserQuery参数:

new CompareResult<TransferJob>(this, this.QAContext?, x => x.EffectiveDate == DateTime.Today).Dump();

当不使用自定义DataContext时,会有this的属性指向另一个数据库,但当他们使用相同的DataContext类型时,我找不到这样的事情。在这里,您可以在我的连接中看到我在查询中连接到两个数据库:

enter image description here

在为LinqPad查询使用自定义DataContext类型时,如何指定我想在QA数据库上运行查询?

0 个答案:

没有答案