FreeSql(XI)の更新データ

var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + 
    "Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10";

IFreeSql fsql = new FreeSql.FreeSqlBuilder()
    .UseConnectionString(FreeSql.DataType.MySql, connstr)
    .UseAutoSyncStructure(true) //自动同步实体结构到数据库
    .Build();

[Table(Name = "tb_topic")]
class Topic {
    [Column(IsIdentity = true, IsPrimary = true)]
    public int Id { get; set; }
    public int Clicks { get; set; }
    public string Title { get; set; }
    public DateTime CreateTime { get; set; }
}

動的な条件

Update<Topic>(object dywhere)

dywhereサポート

  • 主キー
  • 新しい[] {1つのマスターキー、マスターキー2}
  • トピックの対象
  • 新しい[] {トピック・オブジェクト1、トピック・オブジェクト2}
  • 新しい{ID = 1}

その他の条件

説明トップdywhere設定パラメータに加えて、だけでなく、どこラムダ/ SQLメソッドをサポート

fsql.Update<>(Topic).Set(a => a.Title, "新标题").Where(a => a.Id == 1).ExecuteAffrows();
//UPDATE `tb_topic` SET Title = @title WHERE (Id = 1)

API

方法 返却値 パラメータ 説明
どこ <この> ラムダ 発現条件、支持部材への唯一の物理インフラ(ナビゲーションオブジェクトが含まれていません)
どこ <この> 文字列、PARMS SQL構文ネイティブ条件( "ID = ID"、新しい{ID = 1})
どこ <この> T1 | IEnumerableを 受信エンティティまたはその主キーに条件として設定
WhereExists <この> ISelect サブクエリの存在
ToSql 実行するSQL文を返します。
ExecuteAffrows 長いです SQL文を実行する行数、リターンの影響
ExecuteUpdated 一覧<T1> SQL文を実行し、更新されたレコードを返します。

おすすめ

転載: www.cnblogs.com/FreeSql/p/11531324.html