[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://blog.codelike.info/entity_framework_select/

登録

更新

テーブルから取得したオブジェクト(モデル)に変更する値を入れて、[DBコンテキスト].SaveChanges()を呼んであげると更新される。
[C#]Entity Frameworkでデータ更新する(update)
前回に引き続き今回はupdateを試してみます。確認環境・sqlserver2019(docker)・Azure Functions(.Net Core 2.1)・NuGetライブラリ => Microsoft.EntityFrame

削除

[DBコンテキスト].[モデル名].Deleteにテーブルから取得したオブジェクト(モデル)を渡して、[DBコンテキスト].SaveChanges()を呼んであげると削除される。

github

コメント

タイトルとURLをコピーしました