static IFreeSql fsql = new FreeSql.FreeSqlBuilder()
.UseConnectionString(FreeSql.DataType.MySql, connectionString)
.UseAutoSyncStructure(true) //自动同步实体结构到数据库
.Build(); //请务必定义成 Singleton 单例模式
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; }
}
保存实体,忽略一些列
fsql.Update().SetSource(item).IgnoreColumns(a => a.Clicks).ExecuteAffrows();
//UPDATE `Topic` SET `Title` = @p_0, `CreateTime` = @p_1 WHERE (`Id` = 1)
fsql.Update().SetSource(item).IgnoreColumns(a => new { a.Clicks, a.CreateTime }).ExecuteAffrows();
//UPDATE `Topic` SET `Title` = @p_0 WHERE (`Id` = 1)
API
方法
返回值
参数
描述
SetSource
T1 | IEnumerable
更新数据,设置更新的实体
IgnoreColumns
Lambda
忽略的列
Set
Lambda, value
设置列的新值,Set(a => a.Name, "newvalue")
Set
Lambda
设置列的的新值为基础上增加,Set(a => a.Clicks + 1),相当于 clicks=clicks+1
SetDto
object
根据 dto 更新的方法
SetRaw
string, parms
设置值,自定义SQL语法,SetRaw("title = @title", new { title = "newtitle" })
Where
Lambda
表达式条件,仅支持实体基础成员(不包含导航对象)
Where
string, parms
原生sql语法条件,Where("id = @id", new { id = 1 })
Where
T1 | IEnumerable
传入实体或集合,将其主键作为条件
WhereExists
ISelect
子查询是否存在
CommandTimeout
int
命令超时设置(秒)
WithTransaction
DbTransaction
设置事务对象
WithConnection
DbConnection
设置连接对象
ToSql
string
返回即将执行的SQL语句
ExecuteAffrows
long
执行SQL语句,返回影响的行数
ExecuteUpdated
List
执行SQL语句,返回更新后的记录
系列文章导航