Dapper 返回Sql server 自增長ID 標識列SCOPE_IDENTITY


原理

使用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();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM