【发布时间】:2013-06-13 15:27:23
【问题描述】:
我正在尝试从使用 .NET Entity Framework 的应用程序调用 master..xp_fixeddrives,因此我需要结果是可解析的。我正在寻找调用 master..xp_fixeddrives,但对于 EF,它必须在视图或存储过程中。
我不知道创建它的语法。我尝试定义一个视图,并尝试删除 select 和 exec,但没有运气。我该怎么做?
create view zzz
as select exec 'master..xp_fixeddrives';
还尝试将其创建为存储过程,但 SP 实际上并没有返回任何内容,因为它没有 select 语句。
CREATE PROCEDURE GetHardDriveFreeSpaceInMegabytes
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
EXEC master..xp_fixeddrives
END
GO
简单地调用以下也不起作用
select *
from master..xp_fixeddrives
【问题讨论】:
-
你试过执行
GetHardDriveFreeSpaceInMegabytes吗?存储过程不需要SELECT语句来返回任何内容。调用另一个EXEC工作正常。 -
我上面链接的问题解决了你的问题的症结。
-
@Martin Smith 执行它在 Management Studio 中工作,是的。但是,在实体框架模型中加载过程时,表明过程不返回任何列。
-
@Yuck 但您提出的副本是关于在不提前知道架构的情况下创建临时表。这涉及与环回连接和开放查询无关的箍。
标签: .net sql-server entity-framework sql-server-2005