[C#]Entity Frameworkでデータ削除する(delete)

前回に引き続き今回は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]

コメント