簡體   English   中英

無法使用 SqlQuery 從存儲過程中獲取數據

[英]Cannot get data from stored procedure with SqlQuery

這是存儲過程:

public partial class AddedSP: DbMigration
{
    public override void Up()
    {
        CreateStoredProcedure("dbo.GetTopRecommendingUsers"
          // These are stored procedure parameters
          ,null,
          // Here is the stored procedure body
          @" SET NOCOUNT ON;
             BEGIN
             SELECT promoter.Id, promoter.Email, promoter.PhoneNumber, promoter.UserName, promoter.FirstName, promoter.LocationId, promoter.RegionId, promoter.ProfilePhotoId, promoter.LastName, COUNT(u.RecommendedById) AS Recommendations
             FROM AspNetUsers AS promoter 
             INNER JOIN AspNetUsers AS u ON u.RecommendedById = promoter.Id
             GROUP BY promoter.Id, promoter.Email, promoter.PhoneNumber,promoter.RegionId, promoter.UserName, promoter.LocationId, promoter.ProfilePhotoId, promoter.FirstName, promoter.LastName
             ORDER BY COUNT(u.RecommendedById) DESC
             END");
    }
    public override void Down()
    {
        DropStoredProcedure("dbo.GetTopRecommendingUsers");
    }
} 

這是我的 class:

public class RecommenderViewModel
{
    public string Id { get; set; }
    public string Email { get; set; }
    public string PhoneNumber { get; set; }
    public string UserName { get; set; }
    public string FirstName { get; set; }
    public string LocationId { get; set; }
    public string RegionId { get; set; }
    public string ProfilePhotoId { get; set; }
    public string LastName { get; set; }
    public int Recommendations { get; set; }
}

這是進行調用的方法:

    public List<RecommenderViewModel> GetTopRecommendingUsers()
    {
        List<RecommenderViewModel> model = new List<RecommenderViewModel>();
        using (var context = new ApplicationDbContext())
        {
            model = context.Database.SqlQuery<RecommenderViewModel>("GetTopRecommendingUsers").ToList();
        }
        return model;
    }

但是我在GetTopRecommendingUsers()方法的 model 變量中得到一個空列表(Count=0)。

我究竟做錯了什么?

你能顯示 ConnectString 嗎? 可能是我認為您在本地訪問另一個與您的數據庫名稱相同的數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM