在Web Api和Dal层之间进行通信以在DbContext上进行查询

时间:2019-02-22 07:15:18

标签: asp.net-web-api2

好时间

我有三层UI,BLL和DAL。

我添加了一个WEB API层。我还有一个名为PersonController的类,该类已添加到WEB API项目中。该类是:

  public class PersonController : ApiController
{
    public IEnumerable<CommonPerson> GetAllPersons()
    {
         PersonRepository PersonRep = new PersonRepository();
        return PersonRep.SelectAll();   
    }
}

在GetAllPersons操作中,调用PersonRepository类,并从数据库查询中的DbContext转到DAL。 问题在于它无法在DAL中读取,而DAL可以读取连接字符串,并且会出错。

如何将Web api与dal层连接?

1 个答案:

答案 0 :(得分:0)

一个好的做法是:

  

DbContext =>存储库=>工作单元=> BLL => ApiController

这里是很好的资源:
http://jasonwatmore.com/post/2015/01/28/unit-of-work-repository-pattern-in-mvc5-and-web-api-2-with-fluent-nhibernate-and-ninject