【问题标题】:EF 4.1 Return Results from Stored ProcedureEF 4.1 从存储过程返回结果
【发布时间】:2015-04-14 10:08:51
【问题描述】:

我是 EF 新手,刚刚创建了一个新的存储过程来返回一些基本信息

CREATE PROCEDURE GetTop10Clients
   @AccountId NVARCHAR(50)
AS
BEGIN
    SET NOCOUNT ON;

    SELECT TOP 10  
        Client.Name, Count(Client.Name) AS Number
    FROM           
    WHERE        
        (Client.AccountId = @AccountId)
    GROUP BY 
        Client.Name
    ORDER BY 
        Number DESC
END
GO

然后我添加到我的 edmx 并创建了一个名为 GetTop10Clients 的函数导入以返回一个复杂的 GetTop10Clients_Result(紧随 http://www.entityframeworktutorial.net/EntityFramework4.3/execute-stored-procedure-using-dbcontext.aspx

但我不知道怎么称呼它

namespace ClientSystem.Repositories.Ef
{
    public class AccountRepository : IAccountRepository
    {
        public AccountRepository(ObjectSet<Account> set ,ObjectContext ctx) : base(ctx,set)
        {
        }

        public DashboardStats GetTop10Stats(string accountId)
        {
            //var results = GetTop10Clients(accountId); ??????
            return null;
        }
    }
}

感谢您的帮助,示例会很棒。

【问题讨论】:

    标签: c# entity-framework entity-framework-4.1


    【解决方案1】:

    您将在objectcontext/dbcontext 中生成一个函数,如下所示。

    public virtual ObjectResult<GetTop10Clients_Result> GetTop10Clients(Nullable<int> accountId)
    {
        .....
    }
    

    你可以像下面这样调用那个方法。

    using (var context = new ObjectContext())
    {
        var clients = context.GetTop10Clients(1);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-21
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 2016-03-27
      • 2011-09-26
      相关资源
      最近更新 更多