我经常比较不同数据库中表中的数据。这些数据库不具有相同的架构。在 TSQL 中,我可以使用 DB>user>table
结构(DB1.dbo.Stores
、DB2.dbo.OtherPlaces
)引用它们以拉取数据进行比较。我非常喜欢 LINQPad 的想法,但我似乎无法在同一组语句中轻松地从两个不同的数据上下文中提取数据。
我见过有人建议简单地更改连接字符串以将数据从其他源拉入当前模式,但是,正如我提到的,这是行不通的。我只是跳过了常见问题解答中的一页吗?这似乎是一个相当常规的程序,我无法使用。
在“简单”的世界中,我希望能够简单地引用 LINQPad 创建的类型化数据上下文。然后我可以简单地:
DB1DataContext db1 = new DB1DataContext();
DB2DataContext db2 = new DB2DataContext();
然后从那里开始工作。
最佳答案
更新:现在可以在 LINQPad 中执行跨数据库 SQL Server 查询(来自 LINQPad v4.31,具有 LINQPad Premium 许可证)。要使用此功能,请在将数据库从架构资源管理器拖动到查询窗口时按住 Control 键。
也可以查询链接的服务器(您通过调用sp_add_linkedserver 链接的服务器)。为此:
- 添加一个新的 LINQ to SQL 连接。
- 选择指定新的或现有的数据库并选择您要查询的主数据库。
- 单击包括其他数据库复选框并从列表中选择链接的服务器。
关于c# - LINQPad,使用多个数据上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1495357/