From d8996ff97369c206e77f2478b225833340b04217 Mon Sep 17 00:00:00 2001
From: 2881099 <2881099@qq.com>
Date: Tue, 8 Dec 2020 02:14:04 +0800
Subject: [PATCH] update test code #595
---
FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml | 125 ++++++++++
FreeSql.Tests/FreeSql.Tests/Issues/595.cs | 230 ++++++++++++++++++
2 files changed, 355 insertions(+)
create mode 100644 FreeSql.Tests/FreeSql.Tests/Issues/595.cs
diff --git a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml
index 9c3f348f..1343ee52 100644
--- a/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml
+++ b/FreeSql.Tests/FreeSql.Tests/FreeSql.Tests.xml
@@ -162,6 +162,131 @@
角色排序
+
+
+ 导入单位信息
+
+
+
+
+ 主键
+
+
+
+
+ 单位编码
+
+
+
+
+ 单位名称
+
+
+
+
+ 办公电话
+
+
+
+
+ 工作店面
+
+
+
+
+ 员工姓名
+
+
+
+
+ 岗位名称
+
+
+
+
+ 联系电话
+
+
+
+
+ 公司地址
+
+
+
+
+ 备注
+
+
+
+
+ 公司所在省份
+
+
+
+
+ 是否新能源,0是1否
+
+
+
+
+ 公司所在市
+
+
+
+
+ 所属大区
+
+
+
+
+ 所属经理部
+
+
+
+
+ 区域经理名字
+
+
+
+
+ 区域经理手机
+
+
+
+
+ 区域经理账号
+
+
+
+
+ 创建日期
+
+
+
+
+ 创建人账号
+
+
+
+
+ 创建人
+
+
+
+
+ 修改日期
+
+
+
+
+ 修改人账号
+
+
+
+
+ 修改人
+
+
保存或添加,如果主键有值则尝试 Update,如果影响的行为 0 则尝试 Insert
diff --git a/FreeSql.Tests/FreeSql.Tests/Issues/595.cs b/FreeSql.Tests/FreeSql.Tests/Issues/595.cs
new file mode 100644
index 00000000..46d61468
--- /dev/null
+++ b/FreeSql.Tests/FreeSql.Tests/Issues/595.cs
@@ -0,0 +1,230 @@
+using FreeSql.DataAnnotations;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.ComponentModel.DataAnnotations;
+using System.Diagnostics;
+using System.IO;
+using System.Reflection;
+using System.Text;
+using System.Threading;
+using Xunit;
+
+namespace FreeSql.Tests.Issues
+{
+ public class _595
+ {
+ [Fact]
+ public void BatchInsert()
+ {
+ var fsql = g.oracle;
+ var input = JsonConvert.DeserializeObject(File.ReadAllText(@"d:/qq/json.txt"));
+
+ using (var uowm = new UnitOfWorkManager(fsql))
+ {
+ using (var uow = uowm.Begin())
+ {
+ try
+ {
+ var _TXL_JXSDHRepository = fsql.GetRepository();
+ _TXL_JXSDHRepository.UnitOfWork = uow;
+
+ //先删除所有数据再导入
+ var cs = _TXL_JXSDHRepository.Orm.Delete().Where("1=1").ExecuteAffrows();
+ //接着批量插入数据
+ var cs1 = _TXL_JXSDHRepository.Insert(input);
+
+ uow.Commit();
+ }
+ catch
+ {
+ uow.Rollback();
+ throw;
+ }
+ }
+ }
+ }
+
+ ///
+ /// 导入单位信息
+ ///
+ [Table(Name = "TXL_JXSDH")]
+ public partial class TXL_JXSDH
+ {
+
+ ///
+ /// 主键
+ ///
+
+ [JsonProperty, Column(StringLength = 50, IsPrimary = true)]
+ public string DHID { get; set; }
+
+
+
+ ///
+ /// 单位编码
+ ///
+
+ [JsonProperty, Column(StringLength = 50)]
+ public string CCODE { get; set; }
+
+ ///
+ /// 单位名称
+ ///
+
+ [JsonProperty, Column(StringLength = 50)]
+ public string CNAME { get; set; }
+
+ ///
+ /// 办公电话
+ ///
+
+ [JsonProperty, Column(StringLength = 50)]
+ public string BGDH { get; set; }
+
+ ///
+ /// 工作店面
+ ///
+
+ [JsonProperty, Column(StringLength = 50)]
+ public string GZDM { get; set; }
+
+ ///
+ /// 员工姓名
+ ///
+
+ [JsonProperty, Column(StringLength = 50)]
+ public string YGXM { get; set; }
+
+ ///
+ /// 岗位名称
+ ///
+
+ [JsonProperty, Column(StringLength = 50)]
+ public string GWMC { get; set; }
+
+ ///
+ /// 联系电话
+ ///
+
+ [JsonProperty, Column(StringLength = 50)]
+ public string SJHM { get; set; }
+
+ ///
+ /// 公司地址
+ ///
+
+ [JsonProperty, Column(DbType = "VARCHAR2(200 BYTE)")]
+ public string GSDZ { get; set; }
+
+
+
+
+
+ ///
+ /// 备注
+ ///
+
+ [JsonProperty, Column(StringLength = 500)]
+ public string REMARK { get; set; }
+
+ ///
+ /// 公司所在省份
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")]
+ public string SF { get; set; }
+
+ ///
+ /// 是否新能源,0是1否
+ ///
+ [JsonProperty, Column(DbType = "NUMBER(1)", CanInsert = false)]
+ public decimal? SFXNY { get; set; } = 1M;
+
+ ///
+ /// 公司所在市
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")]
+ public string SHI { get; set; }
+
+
+
+ ///
+ /// 所属大区
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")]
+ public string SSDQ { get; set; }
+
+ ///
+ /// 所属经理部
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")]
+ public string SSJLB { get; set; }
+
+
+
+
+
+
+
+ ///
+ /// 区域经理名字
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")]
+ public string YXJLMZ { get; set; }
+
+ ///
+ /// 区域经理手机
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")]
+ public string YXJLSJ { get; set; }
+
+ ///
+ /// 区域经理账号
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(50 BYTE)")]
+ public string YXJLZH { get; set; }
+
+
+
+
+
+ ///
+ /// 创建日期
+ ///
+ [JsonProperty, Column(DbType = "DATE", InsertValueSql = "sysdate", CanInsert = false)]
+ public DateTime? CREATEDATE { get; set; }
+
+ ///
+ /// 创建人账号
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")]
+ public string CREATELOGINNAME { get; set; }
+
+ ///
+ /// 创建人
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")]
+ public string CREATER { get; set; }
+
+
+ ///
+ /// 修改日期
+ ///
+ [JsonProperty, Column(DbType = "DATE", CanInsert = false, ServerTime = DateTimeKind.Local)]
+ public DateTime? UPDATEDATE { get; set; }
+
+ ///
+ /// 修改人账号
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")]
+ public string UPDATELOGINNAME { get; set; }
+
+ ///
+ /// 修改人
+ ///
+ [JsonProperty, Column(DbType = "VARCHAR2(30 BYTE)")]
+ public string UPDATER { get; set; }
+ }
+ }
+}