mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 10:42:52 +08:00
- 修复 SaveMany 缓存保存列名找不到的错误提示;
This commit is contained in:
parent
011cc8d0d8
commit
5d4e7bb407
@ -271,7 +271,7 @@ namespace FreeSql
|
||||
}
|
||||
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 refval = FreeSql.Internal.Utils.GetDataReaderValue(tref.MiddleColumns[midcolidx].CsType, _db.Orm.GetEntityValueWithPropertyName(tref.RefEntityType, curItem, refcol.CsName));
|
||||
_db.Orm.SetEntityValueWithPropertyName(tref.RefMiddleEntityType, newItem, tref.MiddleColumns[midcolidx].CsName, refval);
|
||||
}
|
||||
|
@ -283,7 +283,7 @@ namespace FreeSql
|
||||
}
|
||||
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 refval = FreeSql.Internal.Utils.GetDataReaderValue(tref.MiddleColumns[midcolidx].CsType, _db.Orm.GetEntityValueWithPropertyName(tref.RefEntityType, curItem, refcol.CsName));
|
||||
_db.Orm.SetEntityValueWithPropertyName(tref.RefMiddleEntityType, newItem, tref.MiddleColumns[midcolidx].CsName, refval);
|
||||
}
|
||||
|
@ -110,6 +110,13 @@
|
||||
清空状态数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
||||
<summary>
|
||||
根据 lambda 条件删除数据
|
||||
</summary>
|
||||
<param name="predicate"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.Add(`0)">
|
||||
<summary>
|
||||
添加
|
||||
|
@ -389,80 +389,170 @@
|
||||
验证标志
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:kwlib.department">
|
||||
<member name="T:kwlib.departments">
|
||||
<summary>
|
||||
部门表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.id">
|
||||
<member name="P:kwlib.departments.deptid">
|
||||
<summary>
|
||||
部门ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.Employees">
|
||||
<summary>
|
||||
员工列表 对应employee.deptid
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.supdeptid">
|
||||
<member name="P:kwlib.departments.supdeptid">
|
||||
<summary>
|
||||
上级部门ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.parentdepartments">
|
||||
<member name="P:kwlib.departments.pDepartments">
|
||||
<summary>
|
||||
上级部门对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.managerid">
|
||||
<member name="P:kwlib.departments.managerid">
|
||||
<summary>
|
||||
部门主管ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.manager">
|
||||
<member name="P:kwlib.departments.manager">
|
||||
<summary>
|
||||
部门主管对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.childDepartments">
|
||||
<summary>
|
||||
下级部门列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.deptcode">
|
||||
<member name="P:kwlib.departments.deptcode">
|
||||
<summary>
|
||||
部门代码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.department.deptname">
|
||||
<member name="P:kwlib.departments.deptname">
|
||||
<summary>
|
||||
部门名称
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:kwlib.employee">
|
||||
<member name="T:kwlib.userinfo">
|
||||
<summary>
|
||||
员工表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.employee.id">
|
||||
<member name="P:kwlib.userinfo.userid">
|
||||
<summary>
|
||||
员工ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.employee.parentManager">
|
||||
<member name="P:kwlib.userinfo.badgenumber">
|
||||
<summary>
|
||||
考勤号码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.ssn">
|
||||
<summary>
|
||||
编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.IDCardNo">
|
||||
<summary>
|
||||
身份证
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.name">
|
||||
<summary>
|
||||
姓名
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.title">
|
||||
<summary>
|
||||
职务
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.birthday">
|
||||
<summary>
|
||||
生日
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.hiredday">
|
||||
<summary>
|
||||
入职时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.hetongdate">
|
||||
<summary>
|
||||
合同日期
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.street">
|
||||
<summary>
|
||||
家庭地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.zip">
|
||||
<summary>
|
||||
邮编
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.ophone">
|
||||
<summary>
|
||||
办公电话
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.pager">
|
||||
<summary>
|
||||
行动电话
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.fphone">
|
||||
<summary>
|
||||
家庭电话
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.CardNo">
|
||||
<summary>
|
||||
卡号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.email">
|
||||
<summary>
|
||||
邮件地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.idcardvalidtime">
|
||||
<summary>
|
||||
身份证有效期
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.homeaddress">
|
||||
<summary>
|
||||
籍贯
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.minzu">
|
||||
<summary>
|
||||
民族
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.leavedate">
|
||||
<summary>
|
||||
离职日期
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.loginpass">
|
||||
<summary>
|
||||
登录密码
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.picurl">
|
||||
<summary>
|
||||
相片地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.managerid">
|
||||
<summary>
|
||||
上级主管ID
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.userinfo.pManager">
|
||||
<summary>
|
||||
上级主管对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.employee.Employees">
|
||||
<summary>
|
||||
下级员工列表
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:kwlib.employee.Department">
|
||||
<summary>
|
||||
部门对象
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
|
@ -1,20 +0,0 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace kwlib
|
||||
{
|
||||
public class department_employee
|
||||
{
|
||||
public int departmentId { get; set; }
|
||||
public int employeeId { get; set; }
|
||||
|
||||
[Navigate("departmentId")]
|
||||
public department dept { get; set; }
|
||||
[Navigate("employeeId")]
|
||||
public employee empe { get; set; }
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace kwlib
|
||||
{
|
||||
public class department_userinfo
|
||||
{
|
||||
public int departmentsId { get; set; }
|
||||
public int userinfoId { get; set; }
|
||||
|
||||
[Navigate("departmentsId")]
|
||||
public departments dept { get; set; }
|
||||
|
||||
|
||||
[Navigate("userinfoId")]
|
||||
public userinfo emp { get; set; }
|
||||
}
|
||||
}
|
@ -13,19 +13,19 @@ namespace kwlib
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[Index("部门代码deptcode唯一", "deptcode", true)]
|
||||
public class department
|
||||
public class departments
|
||||
{
|
||||
/// <summary>
|
||||
/// 部门ID
|
||||
/// </summary>
|
||||
[Column(IsPrimary = true, IsIdentity = true)]
|
||||
public int id { get; set; }
|
||||
public int deptid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 员工列表 对应employee.deptid
|
||||
/// </summary>
|
||||
[Navigate("deptid")]
|
||||
public List<employee> Employees { get; set; }
|
||||
///// <summary>
|
||||
///// 员工列表 对应employee.deptid
|
||||
///// </summary>
|
||||
//[Navigate("deptid")]
|
||||
//public List<employee> Employees { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上级部门ID
|
||||
@ -35,7 +35,7 @@ namespace kwlib
|
||||
/// 上级部门对象
|
||||
/// </summary>
|
||||
[Navigate("supdeptid")]
|
||||
public department parentdepartments { get; set; }
|
||||
public departments pDepartments { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 部门主管ID
|
||||
@ -45,18 +45,18 @@ namespace kwlib
|
||||
/// 部门主管对象
|
||||
/// </summary>
|
||||
[Navigate("managerid")]
|
||||
public employee manager { get; set; }
|
||||
public userinfo manager { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 下级部门列表
|
||||
/// </summary>
|
||||
[Navigate("supdeptid")]
|
||||
public List<department> childDepartments { get; set; }
|
||||
///// <summary>
|
||||
///// 下级部门列表
|
||||
///// </summary>
|
||||
//[Navigate("supdeptid")]
|
||||
//public List<departments> childDepartments { get; set; }
|
||||
|
||||
|
||||
[Navigate(ManyToMany = typeof(department_employee))]
|
||||
public List<employee> employees22 { get; set; }
|
||||
[Navigate(ManyToMany = typeof(department_userinfo))]
|
||||
public List<userinfo> employeesMany { get; set; }
|
||||
|
||||
|
||||
#region MyRegion
|
@ -11,151 +11,190 @@ namespace kwlib
|
||||
/// 员工表
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
[Index("员工代码empcode唯一", "empcode", true)]
|
||||
public class employee
|
||||
[Index("员工代码badgenumber唯一", "badgenumber", true)]
|
||||
public class userinfo
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 员工ID
|
||||
/// </summary>
|
||||
[Column(IsPrimary = true, IsIdentity = true)]
|
||||
[System.ComponentModel.DisplayName("员工ID ")]
|
||||
public int id { get; set; }
|
||||
public int userid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 考勤号码
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("考勤号码")]
|
||||
public String badgenumber { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 编号
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("编号")]
|
||||
|
||||
public string ssn { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 身份证
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("身份证/证件号")]
|
||||
public String IDCardNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 姓名
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("姓名")]
|
||||
public String name { get; set; }
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 职务
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("职务")]
|
||||
public string title { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 生日
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("生日 ")]
|
||||
public DateTime? birthday { get; set; }
|
||||
/// <summary>
|
||||
/// 入职时间
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("入职时间")]
|
||||
public DateTime? hiredday { get; set; }
|
||||
/// <summary>
|
||||
/// 合同日期
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("合同日期")]
|
||||
public DateTime? hetongdate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 家庭地址
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("家庭地址")]
|
||||
public String street { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮编
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("邮编")]
|
||||
public String zip { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 办公电话
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("办公电话")]
|
||||
public String ophone { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 行动电话
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("行动电话")]
|
||||
public string pager { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 家庭电话
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("家庭电话")]
|
||||
public String fphone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 卡号
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("卡号 ")]
|
||||
public String CardNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮件地址
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("邮件地址 ")]
|
||||
public String email { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 身份证有效期
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("身份证有效期 ")]
|
||||
public DateTime idcardvalidtime { get; set; } = new DateTime(2099, 12, 31);
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 籍贯
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("籍贯")]
|
||||
public String homeaddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 民族
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("民族")]
|
||||
public string minzu { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 离职日期
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("离职日期")]
|
||||
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; }
|
||||
|
||||
[System.ComponentModel.DisplayName("上级主管ID")]
|
||||
/// <summary>
|
||||
/// 上级主管ID
|
||||
/// </summary>
|
||||
[System.ComponentModel.DisplayName("上级主管ID")]
|
||||
public int? managerid { get; set; }
|
||||
/// <summary>
|
||||
/// 上级主管对象
|
||||
/// </summary>
|
||||
[Navigate("managerid")]
|
||||
public employee parentManager { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 下级员工列表
|
||||
/// </summary>
|
||||
[Navigate("managerid")]
|
||||
public List<employee> Employees { get; set; }
|
||||
|
||||
|
||||
[Navigate(ManyToMany = typeof(department_employee))]
|
||||
public List<department> departments { get; set; }
|
||||
|
||||
[System.ComponentModel.DisplayName("部门ID ")]
|
||||
/// <summary>
|
||||
/// 部门ID
|
||||
/// </summary>
|
||||
public int? deptid { get; set; }
|
||||
/// <summary>
|
||||
/// 部门对象
|
||||
/// </summary>
|
||||
[Navigate("deptid")]
|
||||
public department Department { get; set; }
|
||||
public userinfo pManager { get; set; }
|
||||
|
||||
|
||||
|
||||
[Navigate(ManyToMany = typeof(department_userinfo))]
|
||||
public List<departments> departments { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("员工工号")]
|
||||
/// <summary>
|
||||
/// 员工工号
|
||||
/// </summary>
|
||||
public String empcode { get; set; }
|
||||
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("员工姓名")]
|
||||
/// <summary>
|
||||
/// 员工姓名
|
||||
/// </summary>
|
||||
public String empname { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("地址")]
|
||||
/// <summary>
|
||||
/// 地址
|
||||
/// </summary>
|
||||
public String address { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("工卡ID ")]
|
||||
/// <summary>
|
||||
/// 工卡ID
|
||||
/// </summary>
|
||||
|
||||
public String cardid { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("邮件地址 ")]
|
||||
/// <summary>
|
||||
/// 邮件地址
|
||||
/// </summary>
|
||||
|
||||
public String email { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("合同日期")]
|
||||
/// <summary>
|
||||
/// 合同日期
|
||||
/// </summary>
|
||||
|
||||
public DateTime? hetongdate { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("籍贯")]
|
||||
/// <summary>
|
||||
/// 籍贯
|
||||
/// </summary>
|
||||
|
||||
public String homeaddress { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("入职时间")]
|
||||
/// <summary>
|
||||
/// 入职时间
|
||||
/// </summary>
|
||||
|
||||
public DateTime jointime { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("离职日期")]
|
||||
/// <summary>
|
||||
/// 离职日期
|
||||
/// </summary>
|
||||
public DateTime? leavedate { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("登录密码")]
|
||||
/// <summary>
|
||||
/// 登录密码
|
||||
/// </summary>
|
||||
public String loginpass { get; set; }
|
||||
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("电话")]
|
||||
/// <summary>
|
||||
/// 电话
|
||||
/// </summary>
|
||||
public String phone { get; set; }
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("相片地址")]
|
||||
/// <summary>
|
||||
/// 相片地址
|
||||
/// </summary>
|
||||
|
||||
public String picurl { get; set; }
|
||||
|
||||
|
||||
|
||||
[System.ComponentModel.DisplayName("身份证")]
|
||||
/// <summary>
|
||||
/// 身份证
|
||||
/// </summary>
|
||||
|
||||
public String sfz { get; set; }
|
||||
|
||||
|
||||
}
|
@ -230,6 +230,17 @@ namespace FreeSql.Tests
|
||||
[Fact]
|
||||
public void Test02()
|
||||
{
|
||||
var u1 = new userinfo {
|
||||
name = "111",
|
||||
departments = new List<departments>(new[]{
|
||||
new departments { deptname = "dep1" },
|
||||
new departments { deptname = "dep1" }
|
||||
})
|
||||
};
|
||||
var kwrepo = g.sqlite.GetRepository<userinfo>();
|
||||
kwrepo.Insert(u1);
|
||||
|
||||
|
||||
g.sqlite.GlobalFilter.Apply<gf_t1>("gft1", a => a.rowstate > -1)
|
||||
.Apply<gf_t2>("gft2", a => a.rowstate > -2)
|
||||
.Apply<gf_t3>("gft3", a => a.rowstate > -3);
|
||||
@ -279,8 +290,6 @@ namespace FreeSql.Tests
|
||||
var gft2 = g.mysql.Select<gf_t2>().Where(a => a.id == Guid.NewGuid()).ToList();
|
||||
var gft3 = g.mysql.Select<gf_t3>().Where(a => a.id == Guid.NewGuid()).ToList();
|
||||
|
||||
var tekset = g.sqlite.Select<employee>().IncludeMany(a => a.departments).ToList();
|
||||
|
||||
g.sqlserver.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
|
||||
g.mysql.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
|
||||
g.pgsql.Delete<TBatInst>().Where("1=1").ExecuteAffrows();
|
||||
|
Loading…
x
Reference in New Issue
Block a user