C# 使用存储过程从EF 6中的SQL视图获取记录

C# 使用存储过程从EF 6中的SQL视图获取记录,c#,sql-server,entity-framework,stored-procedures,C#,Sql Server,Entity Framework,Stored Procedures,我在数据库中有一个存储过程(SP),用于从视图中检索一些记录。当我测试SP时,它会返回一组有效的结果。但是,如果提供了相同的参数值,我无法使用EF在代码中获得任何结果(Count=0)。这是我的密码: SqlParameter dwid = new SqlParameter("DiscussionWallId", wallId); SqlParameter pagesize = new SqlParameter("PageSize", 10); SqlParameter pindex = new

我在数据库中有一个存储过程(SP),用于从视图中检索一些记录。当我测试SP时,它会返回一组有效的结果。但是,如果提供了相同的参数值,我无法使用EF在代码中获得任何结果(Count=0)。这是我的密码:

SqlParameter dwid = new SqlParameter("DiscussionWallId", wallId);
SqlParameter pagesize = new SqlParameter("PageSize", 10);
SqlParameter pindex = new SqlParameter("PageIndex", pageIndex);

object[] parameters = new object[] { dwid, pagesize, pindex };

var entryviews = db.Database.SqlQuery<ViewEntryRecord>("EXEC FetchMainEntries  @DiscussionWallId, @PageSize, @PageIndex", parameters).ToList();

在SO中,没有一个现有的解决方案对我有效。只有以下几点对我有用:

var entryviews = db.Database.SqlQuery<ViewEntryRecord>("DECLARE @return_value int;
   EXEC @return_value = [dbo].[FetchMainEntries] @PageIndex = {0}, 
   @PageSize = {1}, @DiscussionWallId = {2}, @ChildSize={3};
   SELECT  'Return Value' = @return_value;", 
   pageIndex, 10, wallId, 2).ToList();
var entryviews=db.Database.SqlQuery(“DECLARE@return\u value int;
EXEC@return_value=[dbo].[FetchMainEntries]@PageIndex={0},
@PageSize={1},@DiscussionWallId={2},@ChildSize={3};
选择“返回值”=@Return\u Value;“,
pageIndex,10,wallId,2).ToList();

能否在数据库上运行探查器,查看执行查询时的情况?
var entryviews = db.Database.SqlQuery<ViewEntryRecord>("DECLARE @return_value int;
   EXEC @return_value = [dbo].[FetchMainEntries] @PageIndex = {0}, 
   @PageSize = {1}, @DiscussionWallId = {2}, @ChildSize={3};
   SELECT  'Return Value' = @return_value;", 
   pageIndex, 10, wallId, 2).ToList();