在 Azure 行動應用後端專案,新增我要請假頁面需要用的資料表
請接續進行 Azure行動應用服務的後端專案
建立資料傳輸物件 (DTO) 類別
接下來,我們需要修改這個後端 API 專案,讓這個專案可以提供更多的功能。
- 為了要開始產生一個我們自訂的資料表,我們需要定義資料表控制器, 設定資料表控制器需要三個步驟︰
這裡,我們需要定義一個請假紀錄的申請紀錄表單,用來定義 SQL Database 內的資料表。
- 請滑鼠右擊
DataObjects
資料夾,選擇加入
>類別
- 在對話窗下方的
名稱
輸入LeaveRecord
- 點選
新增
按鈕 - 請將剛剛產生的類別
LeaveRecord
,修改成為如下程式碼:
public class LeaveRecord : EntityData
{
public string 申請人 { get; set; }
public DateTime 請假日期 { get; set; }
public TimeSpan 開始時間 { get; set; }
public int 請假時數 { get; set; }
public string 假別 { get; set; }
public string 請假理由 { get; set; }
public string 職務代理人 { get; set; }
}
若有找不到的類別或者命名空間,請點選燈泡來修正
建立資料表控制器。
如果已安裝 Azure SDK,您現在可以建立範本資料表控制器,請進行底下操作
使用 Azure 行動應用程式資料表控制器
- 滑鼠右擊
Controller
資料夾,選擇加入
>控制器
- 在對話窗中,選擇
Azure 行動應用程式資料表控制器
- 點選新增按鈕
- 在出現
新增控制器
對話窗,請輸入或者選擇如下圖結果模型類別:您剛剛定義的 SQL 資料表型別,可用下拉選單來選擇資料內容類別:,也就是這個專案內繼承 DbContext 的類別,可用下拉選單來選擇控制器名稱:可以使用自動產生的名稱,注意,最後面一定要有Controller
- 點選
新增
按鈕,完成這個資料表控制器產生動作。 - 底下為產生後的
LeaveRecordController
資料控制器程式碼您可以看到,對於請假紀錄資料表的基本 CRUD API 程式碼,都已經幫您自動產生好了這裡請特別注意,在使用 Azure Mobile App 的資料表控制項類別中,必須要繼承TableController
這個類別,而不是要使用ApiController
類別
public class LeaveRecordController : TableController<LeaveRecord>
{
protected override void Initialize(HttpControllerContext controllerContext)
{
base.Initialize(controllerContext);
XamarinAzureDayContext context = new XamarinAzureDayContext();
DomainManager = new EntityDomainManager<LeaveRecord>(context, Request);
}
// GET tables/LeaveRecord
public IQueryable<LeaveRecord> GetAllLeaveRecord()
{
return Query();
}
// GET tables/LeaveRecord/48D68C86-6EA6-4C25-AA33-223FC9A27959
public SingleResult<LeaveRecord> GetLeaveRecord(string id)
{
return Lookup(id);
}
// PATCH tables/LeaveRecord/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task<LeaveRecord> PatchLeaveRecord(string id, Delta<LeaveRecord> patch)
{
return UpdateAsync(id, patch);
}
// POST tables/LeaveRecord
public async Task<IHttpActionResult> PostLeaveRecord(LeaveRecord item)
{
LeaveRecord current = await InsertAsync(item);
return CreatedAtRoute("Tables", new { id = current.Id }, current);
}
// DELETE tables/LeaveRecord/48D68C86-6EA6-4C25-AA33-223FC9A27959
public Task DeleteLeaveRecord(string id)
{
return DeleteAsync(id);
}
}
加入 Migration
- 點選功能表
工具
>NuGet封裝管理員
>套件管理員主控台
- 在
套件管理員主控台
中輸入底下指令
Add-Migration LeaveRecord
- 按下 F5 ,在本地端執行這個專案您可以使用 PostMan 來檢查本地端執行與運作結果是否正常
- 中斷除錯執行
發佈到 Azure 雲端上
- 滑鼠右擊
XamarinAzureDayService
,選擇發行
- 在對話窗中,點選
發行
按鈕 - 您可以使用 PostMan 來檢查本地端執行與運作結果是否正常
PostMan 測試資料
本地端
Azure
Header 資訊
Key : ZUMO-API-VERSION
Value : 2.0.0
這個練習範例專案,請參考
XamarinAzureService_Custom