在日常的数据库操作中,在使用Insert的时候我们经常会需要获取到对应的自增长ID来反馈给前台使用,本次ThinkDev.Data更新,专门新增了WithIdentity选项来提供支持。
方法名:WithIdentity()
作用:在执行Insert或Update后返回匹配的自增长ID项
限制:仅作用于Insert或者Update,其他方法忽视该设置。
sql = SqlBuilder.From("dbo.TableName") .Insert() .AddInsert("Field", 1) .AddInsert("Field2", 10) .WithIdentity() .GetSql();
sql = SqlBuilder.From("dbo.TableName") .Update() .Set("Field", 1) .Where("Field2", MatchType.Equal, 10) .WithIdentity() .GetSql();
如何获取编号:
在代码层操作时,为了得到编号,不再使用ExecuteNonQuery,而改为ExecuteScalar或者ExecuteDataSet。
如果为ExecuteScalar,则得到的结果即为编号,如果为ExecuteDataSet,则在得到的DataTable中,获取第一行的[IDENTITY]字段值。