如何使用WEB API 搭配Entity Framework 將SQL Server DataBase中資料帶出

前置作業(資料庫部分):
先在資料庫中建立資料表並建立其資料。
create table Employees
(
    ID int primary key identity,
    FirstName nvarchar(50),
    LastName nvarchar(50),
    Gender nvarchar(50),
    Salary int
)
go
insert into Employees values('Mark','Hastings','Male',600000)
insert into Employees values('Melo','Tang','Male',700000)
insert into Employees values('James','Lebron','Male',800000)
insert into Employees values('Mary','Jane','Female',600000)

WEB API 部分: 
Step 1: 
先建立一個ASP.NET WEB API 專案

Step 2: 
在新增另一個專案到同一個solution。
此專案主要是建立與資料庫溝通的EF(使用DataBase First)。
建立完成後solution explorer 會長這樣(一個是for EF 名稱為EmployeeDataAccess,另一個是WEB API)。

Step 3 : WEB API 專案引用 EF專案

WEB API 專案需要使用到EF專案,原因是因為要資料存取。
只需要在WEB API專案的REFERENCE 按下右鍵,選擇EF專案後加入即可。

Step 4: WEB API 專案新增Controller 
public class EmployeesController : ApiController
    {
        //存取所有員工資料
        public IEnumerable<Employees> Get()
        {
            using (EmployeeDBEntities entities = new EmployeeDBEntities())
            {
                return entities.Employees.ToList();
            }
        }
 
        //依據傳入id值抓出特定員工資料
        public Employees Get(int id)
        {
            using (EmployeeDBEntities entities = new EmployeeDBEntities())
            {
                return entities.Employees.FirstOrDefault(e => e.ID == id);
            }
        }
    }

Step 5 : 發現web config 錯誤
這時候按下f5執行專案,輸入下列url,會得到此錯誤。
此錯誤是在告訴我們,在WEB API 專案的WEB CONFIG中找不到EF的連線字串。
所以解決方法是打開EF專案的APP.CONFIG找到連線字串後貼回WEB API專案的WEB CONFIG。

再次執行且輸入同樣URL,即可得到正確回傳結果。





資料來源: http://melomelo1988.pixnet.net/blog/post/335912849-asp.net-web-api-working-with-sql-server

留言

這個網誌中的熱門文章

[C#]Windows 10 停用與啟用網路卡(連線)[手把手教程][原創]

ASP.NET Web API 將傳回的值轉換從控制器動作至 HTTP 回應訊息的方式。

[C#]程式更改電腦IP位置與電腦名稱