VS2017創建WebAPI分層項目(2)——Dao層和Service創建

   上個筆記中以及創建好了Model層,接下來就是創建Dao層和Services層了,下一個筆記中還有WebAPI層(屬於Controller層),它們的關係是從右到左引用依賴,類似於JavaEE中的分層。當然還有更多的層,但是這裏我只記錄這主要的幾層。

   新建Dao層項目:

給Dao層添加Model層依賴並用Nuget添加EF依賴。

右擊Dao層項目添加一個PersonAgent類,編碼如下(注意默認的類名之前沒有修飾符,要加上public,不然等下訪問不到):

using MyWebAPIDemo.DAL.Model;
using System.Collections.Generic;
using System.Linq;

namespace MyWebAPI.DAL.DAO
{
    public class PersonAgent
    {

        public List<Person> GetList()
        {
            using (var context = new FirstDBEntities())
            {
                return context.Person.ToList();
            }
        }
    }
}

 可以看到代碼基本和上一個筆記中Test層裏的Program.cs的主方法一樣。接下來可以把Test層設置爲測試Dao層的,方法是右鍵Test層引用Dao層依賴:

Program.cs代碼改爲:

using MyWebAPI.DAL.DAO;
using MyWebAPIDemo.DAL.Model;
using System;
using System.Collections.Generic;

namespace Test
{
    class Program
    {
        private static PersonAgent agent = new PersonAgent();
        static void Main(string[] args)
        {
            List<Person> list = agent.GetList();
            foreach(Person p in list)
            {
                Console.WriteLine("Person name:{0}, Person age:{1}", p.name, p.age);
            }
        }
    }
}

同樣測試成功:

 

Service層和Dao層十分類似,同樣需要EF依賴,還有添加Model和Dao層引用,最後同樣可以用Test層來測試查詢所有Person表中數據的方法。這裏只寫出PersonService的代碼,其實很簡單。

using MyWebAPI.DAL.DAO;
using MyWebAPIDemo.DAL.Model;
using System.Collections.Generic;

namespace MyWebAPI.Bussiness.Services
{
    public class PersonService
    {
       private PersonAgent agent = new PersonAgent();
       public  List<Person> getAllPerson()
        {
            return agent.GetList();
        }
    }
}

下一個筆記就到了WebAPI層。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章