我有 10 个相同的数据库。
我在运行时获取数据库名称。
我想将行存储到对象集合中。
我也只想在数据库服务器上点击一次。
我目前的做法: -
- 在查询中(由于 X 原因没有存储过程)我得到数据库列表并存储在临时表中。
然后我遍历每个数据库并创建一个动态查询并执行它。
DECLARE @MaxRownum int SET @MaxRownum = (SELECT MAX(RowNum) FROM #Databases) DECLARE @Iter int SET @Iter = 1 WHILE @Iter <= @MaxRownum BEGIN DECLARE @Database varchar(255) SELECT @Database = Databases FROM #Databases WHERE RowNum = @Iter IF HAS_DBACCESS(@Database) > 0 BEGIN //appending query END SET @Iter = @Iter + 1 END EXEC(@Query)
我可以使用 Linq + 实体框架一键访问服务器,无需动态查询且不影响性能吗?有没有更好的解决方案?