前回に引き続き今回はdeleteを試してみたのと、CRUD試し終わったので簡単にまとめてます。
サンプルコード
[FunctionName("EntityFrameworkTestController_Delete")]
public static IActionResult Delete(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = "efcore_test_delete/{id:long}")] HttpRequest req,
long Id,
ILogger log
)
{
log.LogInformation("start EntityFrameworkTestController_Delete");
using (var _dbContext = new DBContextFactory().CreateDbContext())
{
var board = _dbContext.Boards.Find(Id);
if (board == null) {
return new UnprocessableEntityObjectResult("board is null");
}
_dbContext.Boards.Remove(board);
_dbContext.SaveChanges();
}
return new OkObjectResult($"Delete Id: {Id}");
}
やっていること
urlパラメータで渡したIdを元に、boardオブジェクトを取得します。(nullだったらチェックしてエラーとして返してます) [DBコンテキスト].[モデル名].Removeに取得したオブジェクトを渡して、[DBコンテキスト].SaveChanges()を呼んであげると削除されます。
EFのCRUDまとめ
検索
[DBコンテキスト].[モデル名].Find()にIdを渡して取得する。 条件を付けて検索したい時は、Whereメソッドを呼ぶ。 [https://codelikes.com/entity_framework_select/]
登録
[DBコンテキスト].[モデル名].Addにnewしたモデルを渡して、[DBコンテキスト].SaveChanges()を呼んであげると登録される。 [https://codelikes.com/entity_framework_insert/]
更新
テーブルから取得したオブジェクト(モデル)に変更する値を入れて、[DBコンテキスト].SaveChanges()を呼んであげると更新される。 [https://codelikes.com/entity_framework_update/]
削除
[DBコンテキスト].[モデル名].Deleteにテーブルから取得したオブジェクト(モデル)を渡して、[DBコンテキスト].SaveChanges()を呼んであげると削除される。
github
サンプルをここに置いてます。 [https://github.com/YasuakiHirano/poc-azure-function]


コメント