mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-24 18:04:52 +08:00
265 lines
5.9 KiB
C#
265 lines
5.9 KiB
C#
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; }
|
||
|
||
|
||
}
|
||
}
|
||
}
|