原理
使用SELECT SCOPE_IDENTITY(),取获取刚刚插入记录自增的主键
示例
entity.Create(); StringBuilder strSql = new StringBuilder(); strSql.Append(" insert into Attachment( "); strSql.Append(" [Code],[Name],[Path],[FileName],[SmallImageFileName],[CateID],[Size],[SizeUnit],[UserID],[SiteID],[Check],[InsertTime],[ModifyTime]) "); strSql.Append(" values ( "); strSql.Append(" @Code,@Name,@Path,@FileName,@SmallImageFileName,@CateID,@Size,@SizeUnit,@UserID,@SiteID,@Check,@InsertTime,@ModifyTime); "); strSql.Append(" SELECT CAST(SCOPE_IDENTITY() as int) "); var dp = new DynamicParameters(new { }); dp.Add("Code", entity.Code, DbType.Int32); dp.Add("Name", entity.Name, DbType.String); dp.Add("Path", entity.Path, DbType.String); dp.Add("FileName", entity.FileName, DbType.String); dp.Add("SmallImageFileName", entity.SmallImageFileName, DbType.String); dp.Add("CateID", entity.CateID, DbType.Int32); dp.Add("Size", entity.Size, DbType.Int32); dp.Add("SizeUnit", entity.SizeUnit, DbType.Int16); dp.Add("UserID", entity.UserID, DbType.Int32); dp.Add("SiteID", entity.SiteID, DbType.Int32); dp.Add("Check", entity.Check, DbType.Int16); dp.Add("InsertTime", entity.InsertTime, DbType.DateTime); dp.Add("ModifyTime", entity.ModifyTime, DbType.DateTime); return this.BaseRepository().FindObject(strSql.ToString(), dp).ToInt();