SqlSugar/Src/Asp.Net/SqlServerTest/UnitTest/UnitManyToMany4.cs

265 lines
5.9 KiB
C#
Raw Normal View History

2023-06-24 22:47:23 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
namespace OrmTest
{
internal class UnitManyToMany4
{
public static void Init()
{
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();
db.Insertable(new OperatorInfo()
{
id = "2",
createTime = DateTime.Now,
isDel = 1,
isDisabled = 1,
openid = "",
phone = "",
pwd = "",
realname = "a01",
remark = "a",
sno = "a",
username = "admin"
}).ExecuteCommand();
db.Insertable(new OperatorInfo()
{
id = "3",
createTime = DateTime.Now,
isDel = 1,
isDisabled = 1,
openid = "",
phone = "",
pwd = "",
realname = "a01",
remark = "a",
sno = "a",
username = "admin"
}).ExecuteCommand();
var id=db.Insertable(new Role()
{
id=1,
createTime=DateTime.Now,
name="admin1"
}).ExecuteReturnIdentity();
var id2 = db.Insertable(new Role()
{
id = 2,
createTime = DateTime.Now,
name = "admin2"
}).ExecuteReturnIdentity();
db.InsertNav(new OperatorInfo()
{
id = "1113",
createTime = DateTime.Now,
isDel = 1,
isDisabled = 1,
openid = "",
phone = "",
pwd = "",
realname = "a01",
remark = "a",
sno = "a",
username = "admin",
Roles = new List<Role>() { new Role() { id = 2 } }
}).Include(z => z.Roles,
new InsertNavOptions()
{
ManyToManySaveMappingTemplate = new OptRole()
{
CreateTime = "2020",
OrgId ="1x"
}
})
.ExecuteCommand();
var list=db.Queryable<OperatorInfo>()
.Where(x=>x.id== "1113").Includes(x => x.Roles).ToList();
var mapping = db.Queryable<OptRole>().Where(x => x.operId == "1113").First();
if (mapping.OrgId != "1x"||mapping.CreateTime!="2020"|| list.First().Roles.Count!=1)
{
throw new Exception("unit error");
}
db.UpdateNav(new OperatorInfo()
{
id = "1113",
createTime = DateTime.Now,
isDel = 1,
isDisabled = 1,
openid = "",
phone = "",
pwd = "",
realname = "a01",
remark = "a",
sno = "a",
username = "admin",
Roles = new List<Role>() { new Role() { id = 2 } }
}).Include(z => z.Roles,
new UpdateNavOptions()
{
ManyToManySaveMappingTemplate = new OptRole()
{
CreateTime = "1010",
OrgId = "1x"
}
})
.ExecuteCommand();
}
/// <summary>
/// 描述:
/// 作者synjones
/// 时间2022-04-20 21:30:28
/// </summary>
[SugarTable("unit_operatorinfoasdfa31")]
public partial class OperatorInfo
{ /// <summary>
/// 多角色
/// </summary>
[Navigate(typeof(OptRole), nameof(OptRole.operId), nameof(OptRole.roleId))]//名字换
public List<Role> Roles { get; set; }
/// <summary>
/// 主键
/// </summary>
[SugarColumn(IsPrimaryKey = true, ColumnName = "MYID")]
public string id { get; set; }
/// <summary>
/// 姓名
/// </summary>
public string realname { get; set; }
/// <summary>
/// 账号
/// </summary>
public string username { get; set; }
/// <summary>
/// 密码
/// </summary>
public string pwd { get; set; }
/// <summary>
/// 学号
/// </summary>
public string sno { get; set; }
/// <summary>
/// openid
/// </summary>
public string openid { get; set; }
/// <summary>
/// 手机号码
/// </summary>
public string phone { get; set; }
/// <summary>
/// 备注信息
/// </summary>
public string remark { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime createTime { get; set; }
/// <summary>
/// 状态1启用2禁用
/// </summary>
public int isDisabled { get; set; }
/// <summary>
/// 是否删除1正常2删除
/// </summary>
public int isDel { get; set; }
}
/// <summary>
/// 描述:
/// 作者synjones
/// 时间2022-04-20 21:30:28
/// </summary>
[SugarTable("unit_role1adsfa")]
public partial class Role
{
/// <summary>
/// 角色
/// </summary>
[SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "MYID")]
public int id { get; set; }
/// <summary>
/// 角色名称
/// </summary>
public string name { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime createTime { get; set; }
}
/// <summary>
/// 描述:
/// 作者synjones
/// 时间2022-04-21 14:35:09
/// </summary>
[SugarTable("unit_operator_roleadfaa")]
public partial class OptRole
{
/// <summary>
///
/// </summary>
[SugarColumn(IsPrimaryKey = true,ColumnName ="MYID")]
public long id { get; set; }
/// <summary>
///
/// </summary>
[SugarColumn(ColumnName="AID")]
public string operId { get; set; }
[SugarColumn(ColumnName = "bid")]
public int roleId { get; set; }
[SugarColumn(ColumnName = "ct")]
public string CreateTime { get; set; }
[SugarColumn(ColumnName = "oid")]
public string OrgId { get; set; }
}
}
}