sql >> データベース >  >> RDS >> Sqlserver

エンティティフレームワーク:Database.ExecuteSqlCommandメソッド

    ExecuteSqlCommand UPDATEの影響を受ける行数を返します ステートメント。

    テスト

    //Update ID 2
    using (var context = new Test2Context())
    {
        var items = context.MyTestClasses.Where(x => x.Id == 2).Count();
        var rowsAffected = context.Database.ExecuteSqlCommand("UPDATE MyTestClasses SET Name = 'Test2' WHERE Id = 2");
        Debug.WriteLine("--First Test--");
        Debug.WriteLine("items: {0}", items);
        Debug.WriteLine("rowsAffected: {0}", rowsAffected);
    }
    
    //Update all
    using (var context = new Test2Context())
    {
        var items = context.MyTestClasses.Count();
        var rowsAffected = context.Database.ExecuteSqlCommand("UPDATE MyTestClasses SET Name = 'Updated'");
        Debug.WriteLine("--Second Test--");
        Debug.WriteLine("items: {0}", items);
        Debug.WriteLine("rowsAffected: {0}", rowsAffected);
    }
    

    結果

    --First Test--
    items: 1
    rowsAffected: 1
    --Second Test--
    items: 3
    rowsAffected: 3
    



    1. 一意の整数で既存のレコードを更新する

    2. MySQL:マッピングテーブルを理解する

    3. QueryBuilder / Doctrine Select join groupby

    4. テーブルにマップされていないエンティティに休止状態のクエリ言語を使用できますか?