SQL查询到实体框架(ExecuteStoreQuery)

时间:2012-10-23 17:18:18

标签: sql-server entity-framework

我有一个可以正常工作的SQL查询并返回正确的结果

DECLARE @memberId DECIMAL 

SET @memberId=100 

SELECT S.ID, 
       S.STATUSDATE, 
       S.STATUSTEXT, 
       P.FIRSTNAME, 
       P.LASTNAME, 
       P.PHOTO 
FROM   MEMBERSTATUS S 
       JOIN PROFILE P 
         ON S.SENDERID = P.MEMBERID 
WHERE  S.SENDERID IN (SELECT F.MEMBERID AS ID 
                      FROM   MEMBER_FRIENDREQUEST F 
                      WHERE  ( F.FRIENDID = @memberId ) 
                             AND F.STATUS = 2 
                      UNION 
                      SELECT F.FRIENDID AS ID 
                      FROM   MEMBER_FRIENDREQUEST F 
                      WHERE  ( F.MEMBERID = @memberId ) 
                             AND F.STATUS = 2 
                      UNION 
                      SELECT @memberId) 

但是当我尝试在ASP.NET中使用它时,它永远不会返回任何结果

     using (var db = new ExerciseProgramManagerEntities())
            {
                var pMmemberId = new SqlParameter("@memberId", senderId);                                    

                var result  = db.ExecuteStoreQuery<DynamicObject>("select s.Id, s.StatusDate, s.StatusText, p.FirstName, p.LastName, p.Photo "+
 "from MemberStatus s join Profile p on s.SenderId = p.MemberID " +
 "where s.SenderId IN "+
 "("+
"select f.MemberID as id from Member_FriendRequest f where (f.FriendID = @memberId ) and f.Status=2 "+
"union "+
"select f.FriendID as id from Member_FriendRequest f where (f.MemberID=@memberId) and f.Status=2 " +
"union "+
"select @memberId)", pMmemberId);

我的查询有什么问题?

0 个答案:

没有答案