mirror of
				https://github.com/nsnail/FreeSql.git
				synced 2025-11-04 17:20:49 +08:00 
			
		
		
		
	- 修复 LazyLoading 依赖项目 CSScript.Core 升级的 bug;(以上都不再升级该依赖)
This commit is contained in:
		@@ -140,7 +140,7 @@ namespace FreeSql
 | 
				
			|||||||
                        isFirst = false;
 | 
					                        isFirst = false;
 | 
				
			||||||
                        var itemType = item.GetType();
 | 
					                        var itemType = item.GetType();
 | 
				
			||||||
                        if (itemType == typeof(object)) return;
 | 
					                        if (itemType == typeof(object)) return;
 | 
				
			||||||
                        if (itemType.FullName.StartsWith("Submission#")) itemType = itemType.BaseType;
 | 
					                        if (itemType.FullName.Contains("FreeSqlLazyEntity__")) itemType = itemType.BaseType;
 | 
				
			||||||
                        if (Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return;
 | 
					                        if (Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return;
 | 
				
			||||||
                        if (item is BaseEntity<TEntity> == false) return;
 | 
					                        if (item is BaseEntity<TEntity> == false) return;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,7 +78,7 @@ namespace FreeSql
 | 
				
			|||||||
                        isFirst = false;
 | 
					                        isFirst = false;
 | 
				
			||||||
                        var itemType = item.GetType();
 | 
					                        var itemType = item.GetType();
 | 
				
			||||||
                        if (itemType == typeof(object)) return;
 | 
					                        if (itemType == typeof(object)) return;
 | 
				
			||||||
                        if (itemType.FullName.StartsWith("Submission#")) itemType = itemType.BaseType;
 | 
					                        if (itemType.FullName.Contains("FreeSqlLazyEntity__")) itemType = itemType.BaseType;
 | 
				
			||||||
                        if (Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return;
 | 
					                        if (Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return;
 | 
				
			||||||
                        if (item is BaseEntity<TEntity> == false) return;
 | 
					                        if (item is BaseEntity<TEntity> == false) return;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -78,7 +78,7 @@ namespace FreeSql
 | 
				
			|||||||
                    if (item == null) return;
 | 
					                    if (item == null) return;
 | 
				
			||||||
                    var itemType = item.GetType();
 | 
					                    var itemType = item.GetType();
 | 
				
			||||||
                    if (itemType == typeof(object)) return;
 | 
					                    if (itemType == typeof(object)) return;
 | 
				
			||||||
                    if (itemType.FullName.StartsWith("Submission#")) itemType = itemType.BaseType;
 | 
					                    if (itemType.FullName.Contains("FreeSqlLazyEntity__")) itemType = itemType.BaseType;
 | 
				
			||||||
                    if (_db.Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return;
 | 
					                    if (_db.Orm.CodeFirst.GetTableByEntity(itemType)?.Primarys.Any() != true) return;
 | 
				
			||||||
                    var dbset = _db.Set(itemType);
 | 
					                    var dbset = _db.Set(itemType);
 | 
				
			||||||
                    dbset?.GetType().GetMethod("TrackToList", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(dbset, new object[] { list });
 | 
					                    dbset?.GetType().GetMethod("TrackToList", BindingFlags.Instance | BindingFlags.NonPublic).Invoke(dbset, new object[] { list });
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -277,9 +277,9 @@ namespace FreeSql
 | 
				
			|||||||
                                    var isEquals = true;
 | 
					                                    var isEquals = true;
 | 
				
			||||||
                                    for (var midcolidx = tref.Columns.Count; midcolidx < tref.MiddleColumns.Count; midcolidx++)
 | 
					                                    for (var midcolidx = tref.Columns.Count; midcolidx < tref.MiddleColumns.Count; midcolidx++)
 | 
				
			||||||
                                    {
 | 
					                                    {
 | 
				
			||||||
                                        var refcol = tref.Columns[midcolidx - tref.Columns.Count];
 | 
					                                        var refcol = tref.RefColumns[midcolidx - tref.Columns.Count];
 | 
				
			||||||
                                        var midval = FreeSql.Internal.Utils.GetDataReaderValue(refcol.CsType, _db.Orm.GetEntityValueWithPropertyName(tref.RefMiddleEntityType, midItem, tref.MiddleColumns[midcolidx].CsName));
 | 
					                                        var midval = FreeSql.Internal.Utils.GetDataReaderValue(refcol.CsType, _db.Orm.GetEntityValueWithPropertyName(tref.RefMiddleEntityType, midItem, tref.MiddleColumns[midcolidx].CsName));
 | 
				
			||||||
                                        var refval = FreeSql.Internal.Utils.GetDataReaderValue(refcol.CsType, _db.Orm.GetEntityValueWithPropertyName(tref.RefEntityType, curList[curIdx], tref.Columns[midcolidx - tref.Columns.Count].CsName));
 | 
					                                        var refval = FreeSql.Internal.Utils.GetDataReaderValue(refcol.CsType, _db.Orm.GetEntityValueWithPropertyName(tref.RefEntityType, curList[curIdx], refcol.CsName));
 | 
				
			||||||
                                        if (object.Equals(midval, refval) == false)
 | 
					                                        if (object.Equals(midval, refval) == false)
 | 
				
			||||||
                                        {
 | 
					                                        {
 | 
				
			||||||
                                            isEquals = false;
 | 
					                                            isEquals = false;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@
 | 
				
			|||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <ProjectReference Include="..\..\Extensions\FreeSql.Extensions.BaseEntity\FreeSql.Extensions.BaseEntity.csproj" />
 | 
				
			||||||
    <ProjectReference Include="..\..\Extensions\FreeSql.Extensions.LazyLoading\FreeSql.Extensions.LazyLoading.csproj" />
 | 
					    <ProjectReference Include="..\..\Extensions\FreeSql.Extensions.LazyLoading\FreeSql.Extensions.LazyLoading.csproj" />
 | 
				
			||||||
    <ProjectReference Include="..\..\FreeSql.DbContext\FreeSql.DbContext.csproj" />
 | 
					    <ProjectReference Include="..\..\FreeSql.DbContext\FreeSql.DbContext.csproj" />
 | 
				
			||||||
    <ProjectReference Include="..\..\Providers\FreeSql.Provider.MySql\FreeSql.Provider.MySql.csproj" />
 | 
					    <ProjectReference Include="..\..\Providers\FreeSql.Provider.MySql\FreeSql.Provider.MySql.csproj" />
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										285
									
								
								FreeSql.Tests/FreeSql.Tests.DbContext/USERINFO.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										285
									
								
								FreeSql.Tests/FreeSql.Tests.DbContext/USERINFO.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,285 @@
 | 
				
			|||||||
 | 
					using FreeSql;
 | 
				
			||||||
 | 
					using FreeSql.DataAnnotations;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// <summary>
 | 
				
			||||||
 | 
					/// 员工信息表 
 | 
				
			||||||
 | 
					/// </summary>    
 | 
				
			||||||
 | 
					[Serializable]
 | 
				
			||||||
 | 
					[Index("员工代码badgenumber唯一", "badgenumber", true)]
 | 
				
			||||||
 | 
					public class userinfo : BaseEntity<userinfo>
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 员工ID  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [Column(IsPrimary = true)]
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("员工ID ")]
 | 
				
			||||||
 | 
					    [System.ComponentModel.DataAnnotations.Required()]
 | 
				
			||||||
 | 
					    public int userid { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 工号  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("工号")]
 | 
				
			||||||
 | 
					    [System.ComponentModel.DataAnnotations.Required()]
 | 
				
			||||||
 | 
					    [Column(Name = "BADGENUMBER", DbType = "VARCHAR(24)")]
 | 
				
			||||||
 | 
					    public String badgenumber { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 姓名  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("姓名")]
 | 
				
			||||||
 | 
					    [System.ComponentModel.DataAnnotations.Required()]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(40) NULL")]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String Name { get; set; }
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 身份证  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("身份证证")]
 | 
				
			||||||
 | 
					    [System.ComponentModel.DataAnnotations.Required()]
 | 
				
			||||||
 | 
					    public String IDCardNo { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 行动电话
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("行动电话")]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(20) NULL")]
 | 
				
			||||||
 | 
					    public string pager { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 邮件地址  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("邮件地址 ")]
 | 
				
			||||||
 | 
					    public String email { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 办公电话  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("办公电话")]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(20) NULL")]
 | 
				
			||||||
 | 
					    public String ophone { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 入职时间  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("入职时间")]
 | 
				
			||||||
 | 
					    [Column(DbType = "date")]
 | 
				
			||||||
 | 
					    public DateTime? hiredday { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 生日
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("生日 ")]
 | 
				
			||||||
 | 
					    [Column(DbType = "date")]
 | 
				
			||||||
 | 
					    public DateTime? birthday { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 民族
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("民族")]
 | 
				
			||||||
 | 
					    public string minzu { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 籍贯  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("籍贯")]
 | 
				
			||||||
 | 
					    public String homeaddress { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 合同日期  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("合同日期")]
 | 
				
			||||||
 | 
					    [Column(DbType = "date")]
 | 
				
			||||||
 | 
					    public DateTime? hetongdate { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 家庭地址
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("家庭地址")]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(80) NULL")]
 | 
				
			||||||
 | 
					    public String street { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 邮编  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("邮编")]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(12) NULL")]
 | 
				
			||||||
 | 
					    public String zip { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("城市")]
 | 
				
			||||||
 | 
					    [Column(Name = "CITY", DbType = "varchar(2)")]
 | 
				
			||||||
 | 
					    public string CITY { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("省份")]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(2) NULL")]
 | 
				
			||||||
 | 
					    public string STATE { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 编号
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("编号")]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public string ssn { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(8) NULL")]
 | 
				
			||||||
 | 
					    public string GENDER { get; set; } = "M";
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 职务
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("职务")]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(20) NULL")]
 | 
				
			||||||
 | 
					    public string title { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public short? VERIFICATIONMETHOD { get; set; }//验证方式
 | 
				
			||||||
 | 
					    public short? DEFAULTDEPTID { get; set; } = 1;//所属部门ID号
 | 
				
			||||||
 | 
					    public short? ATT { get; set; } = 1;//考勤有效 
 | 
				
			||||||
 | 
					    public short? INLATE { get; set; } = 1;//计迟到 
 | 
				
			||||||
 | 
					    public short? OUTEARLY { get; set; } = 1;//计早退
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public short? OVERTIME { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public short? SEP { get; set; } = 1;
 | 
				
			||||||
 | 
					    public short HOLIDAY { get; set; } = 1;//假日休息
 | 
				
			||||||
 | 
					    public string PASSWORD { get; set; }//口令
 | 
				
			||||||
 | 
					    public short LUNCHDURATION { get; set; } = 1;//有午休
 | 
				
			||||||
 | 
					    public string MVerifyPass { get; set; }//考勤验证密码
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //[Column(DbType = "image NULL")]
 | 
				
			||||||
 | 
					    //public byte[] PHOTO { get; set; }
 | 
				
			||||||
 | 
					    //[Column(DbType = "image NULL")]
 | 
				
			||||||
 | 
					    //public byte[] Notes { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public int? VerifyCode { get; set; }
 | 
				
			||||||
 | 
					    public int? Expires { get; set; }
 | 
				
			||||||
 | 
					    public int? ValidCount { get; set; }
 | 
				
			||||||
 | 
					    public int? UseAccGroupTZ { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public int? AccGroup { get; set; }
 | 
				
			||||||
 | 
					    public int? FaceGroup { get; set; }
 | 
				
			||||||
 | 
					    public int? EMPRIVILEGE { get; set; }
 | 
				
			||||||
 | 
					    public int? InheritDeptRule { get; set; }
 | 
				
			||||||
 | 
					    public int? RegisterOT { get; set; }
 | 
				
			||||||
 | 
					    public int? MinAutoSchInterval { get; set; }
 | 
				
			||||||
 | 
					    public int? AutoSchPlan { get; set; }
 | 
				
			||||||
 | 
					    public int? InheritDeptSchClass { get; set; }
 | 
				
			||||||
 | 
					    public int? InheritDeptSch { get; set; }
 | 
				
			||||||
 | 
					    public int? privilege { get; set; }
 | 
				
			||||||
 | 
					    public int? TimeZone1 { get; set; }
 | 
				
			||||||
 | 
					    public int? TimeZone2 { get; set; }
 | 
				
			||||||
 | 
					    public int? TimeZone3 { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [Column(DbType = "date")]
 | 
				
			||||||
 | 
					    public DateTime? ValidTimeEnd { get; set; }
 | 
				
			||||||
 | 
					    [Column(DbType = "date")]
 | 
				
			||||||
 | 
					    public DateTime? ValidTimeBegin { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 家庭电话  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("家庭电话")]
 | 
				
			||||||
 | 
					    [Column(DbType = "varchar(20) NULL")]
 | 
				
			||||||
 | 
					    public String fphone { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 卡号  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("卡号 ")]
 | 
				
			||||||
 | 
					    [Column(Name = "CardNo", DbType = "varchar(20)")]
 | 
				
			||||||
 | 
					    public String CardNo { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 身份证有效期
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("身份证有效期 ")]
 | 
				
			||||||
 | 
					    public String idcardvalidtime { get; set; } = new DateTime(2099, 12, 31).ToString();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 离职日期  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("离职日期")]
 | 
				
			||||||
 | 
					    [Column(DbType = "date")]
 | 
				
			||||||
 | 
					    public DateTime? leavedate { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 登录密码  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("登录密码")]
 | 
				
			||||||
 | 
					    public String loginpass { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 相片地址  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("相片地址")]
 | 
				
			||||||
 | 
					    public String picurl { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 上级主管  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("上级主管")]
 | 
				
			||||||
 | 
					    public int? managerid { get; set; }
 | 
				
			||||||
 | 
					    ///// <summary>
 | 
				
			||||||
 | 
					    ///// 上级主管对象
 | 
				
			||||||
 | 
					    ///// </summary>
 | 
				
			||||||
 | 
					    //[Navigate("managerid")]
 | 
				
			||||||
 | 
					    //public userinfo pManager { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [Navigate(ManyToMany = typeof(dept_user))]
 | 
				
			||||||
 | 
					    public List<DEPARTMENTS> depts { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 管理员标志
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("管理员标志")]
 | 
				
			||||||
 | 
					    public short? SECURITYFLAGS { get; set; }//管理员标志
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -21,6 +21,35 @@ namespace FreeSql.Tests
 | 
				
			|||||||
        [Fact]
 | 
					        [Fact]
 | 
				
			||||||
        public void Include_ManyToMany()
 | 
					        public void Include_ManyToMany()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					            g.sqlite.Delete<userinfo>().Where("1=1").ExecuteAffrows();
 | 
				
			||||||
 | 
					            g.sqlite.Delete<DEPARTMENTS>().Where("1=1").ExecuteAffrows();
 | 
				
			||||||
 | 
					            g.sqlite.Delete<dept_user>().Where("1=1").ExecuteAffrows();
 | 
				
			||||||
 | 
					            BaseEntity.Initialization(g.sqlite);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            userinfo user = new userinfo { userid = 1 };
 | 
				
			||||||
 | 
					            user.Insert();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            user.depts = new List<DEPARTMENTS>(
 | 
				
			||||||
 | 
					                new[] {
 | 
				
			||||||
 | 
					                    new DEPARTMENTS { deptid = 1, deptcode = "01" },
 | 
				
			||||||
 | 
					                    new DEPARTMENTS { deptid = 2, deptcode = "02" },
 | 
				
			||||||
 | 
					                    new DEPARTMENTS { deptid = 3, deptcode = "03" },
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            user.SaveMany("depts");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            user.depts = new List<DEPARTMENTS>(
 | 
				
			||||||
 | 
					                new[] {
 | 
				
			||||||
 | 
					                    new DEPARTMENTS { deptid = 1, deptcode = "01" },
 | 
				
			||||||
 | 
					                    new DEPARTMENTS { deptid = 2, deptcode = "02" },
 | 
				
			||||||
 | 
					                    new DEPARTMENTS { deptid = 4, deptcode = "04" },
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            user.SaveMany("depts");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            user.depts = new List<DEPARTMENTS>(
 | 
				
			||||||
 | 
					                new[] {
 | 
				
			||||||
 | 
					                    new DEPARTMENTS { deptid = 2, deptcode = "02" },
 | 
				
			||||||
 | 
					                });
 | 
				
			||||||
 | 
					            user.SaveMany("depts");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            g.sqlite.CodeFirst.SyncStructure<Song_tag>();
 | 
					            g.sqlite.CodeFirst.SyncStructure<Song_tag>();
 | 
				
			||||||
            g.sqlite.CodeFirst.SyncStructure<Tag>();
 | 
					            g.sqlite.CodeFirst.SyncStructure<Tag>();
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										96
									
								
								FreeSql.Tests/FreeSql.Tests.DbContext/departments(1).cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								FreeSql.Tests/FreeSql.Tests.DbContext/departments(1).cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
				
			|||||||
 | 
					using FreeSql;
 | 
				
			||||||
 | 
					using FreeSql.DataAnnotations;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/// <summary>
 | 
				
			||||||
 | 
					/// 部门表  
 | 
				
			||||||
 | 
					/// </summary>    
 | 
				
			||||||
 | 
					[Serializable]
 | 
				
			||||||
 | 
					[Index("部门代码deptcode唯一", "deptcode", true)]
 | 
				
			||||||
 | 
					public class DEPARTMENTS : BaseEntity<DEPARTMENTS>
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 部门ID  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [Column(IsPrimary = true)]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("部门ID")]
 | 
				
			||||||
 | 
					    public int deptid { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ///// <summary>
 | 
				
			||||||
 | 
					    ///// 员工列表  对应employee.deptid
 | 
				
			||||||
 | 
					    ///// </summary>
 | 
				
			||||||
 | 
					    //[Navigate("deptid")] 
 | 
				
			||||||
 | 
					    //public List<employee> Employees { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 上级部门ID  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("上级部门ID")]
 | 
				
			||||||
 | 
					    public int? supdeptid { get; set; }
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 上级部门对象
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [Navigate("supdeptid")]
 | 
				
			||||||
 | 
					    public DEPARTMENTS pDepartments { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 部门主管ID  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("部门主管ID")]
 | 
				
			||||||
 | 
					    public int? managerid { get; set; }
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 部门主管对象
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [Navigate("managerid")]
 | 
				
			||||||
 | 
					    public userinfo manager { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ///// <summary>
 | 
				
			||||||
 | 
					    ///// 下级部门列表
 | 
				
			||||||
 | 
					    ///// </summary>
 | 
				
			||||||
 | 
					    //[Navigate("supdeptid")]
 | 
				
			||||||
 | 
					    //public List<departments> childDepartments { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    [Navigate(ManyToMany = typeof(dept_user))]
 | 
				
			||||||
 | 
					    public List<userinfo> employeesMany { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    #region MyRegion
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 部门代码
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("部门代码")]
 | 
				
			||||||
 | 
					    [System.ComponentModel.DataAnnotations.Required()]
 | 
				
			||||||
 | 
					    public string deptcode { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /// <summary>
 | 
				
			||||||
 | 
					    /// 部门名称  
 | 
				
			||||||
 | 
					    /// </summary>
 | 
				
			||||||
 | 
					    [System.ComponentModel.DisplayName("部门名称")]
 | 
				
			||||||
 | 
					    [System.ComponentModel.DataAnnotations.Required()]
 | 
				
			||||||
 | 
					    public string deptname { get; set; }
 | 
				
			||||||
 | 
					    #endregion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public short? InheritParentSch { get; set; }
 | 
				
			||||||
 | 
					    public short? InheritDeptSch { get; set; }
 | 
				
			||||||
 | 
					    public short? InheritDeptSchClass { get; set; }
 | 
				
			||||||
 | 
					    public short? AutoSchPlan { get; set; }
 | 
				
			||||||
 | 
					    public short? InLate { get; set; }
 | 
				
			||||||
 | 
					    public short? OutEarly { get; set; }
 | 
				
			||||||
 | 
					    public short? InheritDeptRule { get; set; }
 | 
				
			||||||
 | 
					    public int? MinAutoSchInterval { get; set; }
 | 
				
			||||||
 | 
					    public short? RegisterOT { get; set; }
 | 
				
			||||||
 | 
					    public int? DefaultSchId { get; set; }
 | 
				
			||||||
 | 
					    public short? ATT { get; set; }
 | 
				
			||||||
 | 
					    public short? Holiday { get; set; }
 | 
				
			||||||
 | 
					    public short? OverTime { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										21
									
								
								FreeSql.Tests/FreeSql.Tests.DbContext/dept_user.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								FreeSql.Tests/FreeSql.Tests.DbContext/dept_user.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					using FreeSql.DataAnnotations;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using FreeSql;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class dept_user: BaseEntity<dept_user>
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public int deptid { get; set; }
 | 
				
			||||||
 | 
					        public int userid { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        [Navigate("deptid")]
 | 
				
			||||||
 | 
					        public DEPARTMENTS dept { get; set; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        [Navigate("userid")]
 | 
				
			||||||
 | 
					        public userinfo emp { get; set; }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user