Browse Source

Update ExecuteCommandIdentityIntoEntityAsync

pull/18/head
sunkaixuan 3 years ago
parent
commit
c54af45e19
  1. 32
      Src/Asp.Net/SqlServerTest/UnitTest/UnitManyToMany.cs
  2. 8
      Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs

32
Src/Asp.Net/SqlServerTest/UnitTest/UnitManyToMany.cs

@ -12,13 +12,39 @@ namespace OrmTest
{ {
var db = NewUnitTest.Db; var db = NewUnitTest.Db;
db.CodeFirst.InitTables<OperatorInfo, Role, OptRole>(); 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>() db.Queryable<OperatorInfo>()
.Includes(x => x.Roles).Where(x => x.Roles.Any(z=>z.id==1)) .Includes(x => x.Roles).Where(x => x.Roles.Any(z=>z.id==1))
.ToList(); .ToList();
db.Queryable<OperatorInfo>() db.Queryable<OperatorInfo>()
.Includes(x => x.Roles).Where(x => x.Roles.Any()) .Includes(x => x.Roles).Where(x => x.Roles.Any())
.ToList(); .ToList();
} //db.Queryable<OperatorInfo>()
// .Includes(x => x.Roles.Where(z=>z.name==x.realname).ToList())
// .ToList();
}
/// <summary> /// <summary>
/// 描述: /// 描述:

8
Src/Asp.Net/SqlSugar/Abstract/InsertableProvider/InsertableProvider.cs

@ -255,6 +255,14 @@ namespace SqlSugar
object setValue = 0; object setValue = 0;
if (idValue > int.MaxValue) if (idValue > int.MaxValue)
setValue = idValue; 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 else
setValue = Convert.ToInt32(idValue); setValue = Convert.ToInt32(idValue);
this.Context.EntityMaintenance.GetProperty<T>(identityKey).SetValue(result, setValue, null); this.Context.EntityMaintenance.GetProperty<T>(identityKey).SetValue(result, setValue, null);

Loading…
Cancel
Save