使用存储库模式和MVC5

时间:2018-03-08 12:12:27

标签: c# asp.net stored-procedures asp.net-web-api

我想执行“存储过程”'使用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();
    }
}

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

1 个答案:

答案 0 :(得分:0)

我只是解决了这个问题。实际上这是 MissingMethodException 。这发生在我的项目中重叠.dll。 但是,Clean Used&amp;使用Re-sharper复制.dll对我来说不起作用。所以,我重新创建了这个项目,之后这个问题就消失了。