我可以将 EF4 与 sp_msforeachdb 一起使用吗?

发布于 2024-10-22 01:41:59 字数 485 浏览 1 评论 0原文

我有一个查询简化版本:

declare @s nvarchar(max)
set @s ='
set transaction isolation level read uncommitted
select
      [db] = cast(specific_catalog as varchar(30))
      ,[num_procs] = count(*) 
      ,[len_procs] = sum(len(routine_definition)) 
from
      ?.INFORMATION_SCHEMA.ROUTINES
where
      ROUTINE_TYPE=''PROCEDURE''
group by
      specific_catalog'

exec sp_msforeachdb @s

我可以通过强类型 EF4 对象使用它吗?自从我遇到一些让我认为我必须回到常规 ADO 的事情以来已经有一段时间了,但我不知道如何解决这个问题。

I have a query simplified version:

declare @s nvarchar(max)
set @s ='
set transaction isolation level read uncommitted
select
      [db] = cast(specific_catalog as varchar(30))
      ,[num_procs] = count(*) 
      ,[len_procs] = sum(len(routine_definition)) 
from
      ?.INFORMATION_SCHEMA.ROUTINES
where
      ROUTINE_TYPE=''PROCEDURE''
group by
      specific_catalog'

exec sp_msforeachdb @s

Can I consume this via a strongly typed EF4 object? It's been awhile since I came across something that has me thinking I have to go back to regular ADO, but I'm not sure how to tackle this one.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅紫色的梦幻 2024-10-29 01:41:59

IMO 这应该由常见的 ADO.NET 作为存储过程执行。原因:

  • 它是 SQL 命令,无法映射为实体
  • 它返回多个结果集 - EF 中的存储过程无法映射多个结果集,即使它返回相同的对象。有可用的 EFv1 扩展 添加了该支持,但仍然不确定。

IMO this is something which should be executed as stored procedure by common ADO.NET. Why:

  • It is SQL command which cannot be mapped as entity
  • It returns multiple result sets - stored procedures in EF are not able to map multiple result sets even it returns still the same object. There was available extensions for EFv1 which added that support but still it is somthing unsure.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文