我在单独的SQL Server数据库中(在不同的服务器上)中有两个日志表。 这两个表具有完全相同的架构。在我的 .NET 应用程序中,我可以创建两个 Linq to SQL 类集合(DBML 文件),然后执行我自己的自定义 Linq 查询以合并两个表并返回匿名类型。 但是我在同一个桌子上有几个查询(都略有不同),每次做联合都是重复的。
是否可以将两个表合并为一个具体的/命名类型 IEnumerable? 基本上我想做的是这样的:
var logs = Logs.Where(l => l.TimeStart >= DateTime.Today)
并且Logs
实际上从两个表中返回数据,并将明智的查询发送到两个数据库服务器,无论我在.Where()
中放入什么。
这可能吗?
箱即用,你不能得到一个涵盖多个数据上下文的IQueryable。你提到你有
单独的 SQL Server 数据库(在不同的服务器上)。
解决方案可能是创建链接视图。示例:在 SQL Server 中使用链接服务器数据库创建视图
获得链接视图后,查询将相当简单且清晰。