使用存储库模式和 MVC5 执行 SP



我想使用 MVC 5 和存储库模式执行"存储过程"。我为它编写代码,但它给了我这样的错误

">找不到方法: 'System.Collections.Generic.IEnumerable'1 System.Data.Entity.Database.SqlQuery(System.String, System.Object[](">

我的界面

public interface IMemberRepository
{
   IEnumerable<MemberDetails> GetAll(); 
 }

存储 库

public class MemberRepository : IMemberRepository
{
    ChatDBEntities entities = new ChatDBEntities(); // DB Entity which is generate by DB First Approach (EDMX)
    public IEnumerable<MemberDetails> GetAll()
    {
        string SP_SQL = "[GetMemberDetails]";
        var list = entities.Database.SqlQuery<MemberDetails> 
              (SP_SQL).ToList<MemberDetails>();
        return list;
    }
}
API

调用(从 API 调用存储库时给出的错误(

public class MemberController : ApiController
{
    static readonly IMemberRepository repository = new MemberRepository();
    public IEnumerable GetAll()
    {
        return repository.GetAll();
    }
}

请有人帮我找到解决这个问题的方法。

我只是解决了这个问题。实际上,这是一个MissingMethodException。这发生在我的项目内的重叠.dll中。但是,使用Re-sharper清理使用和复制.dll对我来说不起作用。因此,我重新创建了项目,然后这个问题就消失了。