Update ExecuteCommandIdentityIntoEntityAsync

This commit is contained in:
sunkaixuan
2022-04-27 13:55:05 +08:00
parent 51e90e5334
commit c54af45e19
2 changed files with 37 additions and 3 deletions

View File

@@ -12,12 +12,38 @@ namespace OrmTest
{
var db = NewUnitTest.Db;
db.CodeFirst.InitTables<OperatorInfo, Role, OptRole>();
db.DbMaintenance.TruncateTable<OperatorInfo, Role, OptRole>();
db.Insertable(new OperatorInfo()
{
id="1",
createTime=DateTime.Now,
isDel=1,
isDisabled=1,
openid="",
phone="",
pwd="",
realname="a01",
remark="a",
sno="a",
username="a01"
}).ExecuteCommand();
var id=db.Insertable(new Role()
{
id=1,
createTime=DateTime.Now,
name="admin"
}).ExecuteReturnIdentity();
db.Insertable(new OptRole() { operId="1", roleId=id }).ExecuteCommand();
db.Queryable<OperatorInfo>()
.Includes(x => x.Roles).Where(x => x.Roles.Any(z=>z.id==1))
.ToList();
db.Queryable<OperatorInfo>()
.Includes(x => x.Roles).Where(x => x.Roles.Any())
.ToList();
//db.Queryable<OperatorInfo>()
// .Includes(x => x.Roles.Where(z=>z.name==x.realname).ToList())
// .ToList();
}
/// <summary>

View File

@@ -255,6 +255,14 @@ namespace SqlSugar
object setValue = 0;
if (idValue > int.MaxValue)
setValue = idValue;
else if (this.EntityInfo.Columns.Any(it => it.IsIdentity && it.PropertyInfo.PropertyType == typeof(uint)))
{
setValue = Convert.ToUInt32(idValue);
}
else if (this.EntityInfo.Columns.Any(it => it.IsIdentity && it.PropertyInfo.PropertyType == typeof(ulong)))
{
setValue = Convert.ToUInt64(idValue);
}
else
setValue = Convert.ToInt32(idValue);
this.Context.EntityMaintenance.GetProperty<T>(identityKey).SetValue(result, setValue, null);