Synchronization code

This commit is contained in:
sunkaixuan
2022-09-24 00:27:13 +08:00
parent 6df0561910
commit 6e9bbfa7aa
7 changed files with 42 additions and 5 deletions

View File

@@ -34,7 +34,7 @@ namespace SqlSugar
}
var aids = _ParentList.Select(it => parentPkColumn.PropertyInfo.GetValue(it)).ToList();
var bids = _Context.Queryable<object>().AS(mappingEntity.DbTableName).In(mappingA.DbColumnName, aids)
var bids = _Context.Queryable<object>().Filter(mappingEntity.Type).AS(mappingEntity.DbTableName).In(mappingA.DbColumnName, aids)
.Select(mappingB.DbColumnName).ToDataTable()
.Rows.Cast<System.Data.DataRow>().Select(it => it[0]).ToList();

View File

@@ -26,6 +26,12 @@ namespace SqlSugar
.Where(it => it.PropertyName != mappingA.PropertyName)
.Where(it => it.PropertyName != mappingB.PropertyName)
.Where(it => it.IsPrimarykey && !it.IsIdentity && it.OracleSequenceName.IsNullOrEmpty()).FirstOrDefault();
var mappingBizDeleteColumn = mappingEntity.Columns.FirstOrDefault(it =>
it.DbColumnName.EqualCase("isdelete") ||
it.PropertyName.EqualCase("isdelete") ||
it.DbColumnName.EqualCase("isdeleted") ||
it.PropertyName.EqualCase("isdeleted")
);
Check.Exception(mappingA == null || mappingB == null, $"Navigate property {name} error ", $"导航属性{name}配置错误");
List<Dictionary<string, object>> mappgingTables = new List<Dictionary<string, object>>();
foreach (var item in parentList)
@@ -40,6 +46,10 @@ namespace SqlSugar
Dictionary<string,object> keyValuePairs = new Dictionary<string,object>();
keyValuePairs.Add(mappingA.DbColumnName, parentId);
keyValuePairs.Add(mappingB.DbColumnName, chidId);
if (mappingBizDeleteColumn != null)
{
keyValuePairs.Add(mappingBizDeleteColumn.DbColumnName, UtilMethods.GetDefaultValue(mappingBizDeleteColumn.UnderType));
}
if (mappingPk != null)
{
SetMappingTableDefaultValue(mappingPk, keyValuePairs);

View File

@@ -26,6 +26,11 @@ namespace SqlSugar
.Where(it => it.PropertyName != mappingA.PropertyName)
.Where(it => it.PropertyName != mappingB.PropertyName)
.Where(it => it.IsPrimarykey && !it.IsIdentity && it.OracleSequenceName.IsNullOrEmpty()).FirstOrDefault();
var mappingBizDeleteColumn = mappingEntity.Columns.FirstOrDefault(it =>
it.DbColumnName.EqualCase("isdelete") ||
it.PropertyName.EqualCase("isdelete") ||
it.DbColumnName.EqualCase("isdeleted") ||
it.PropertyName.EqualCase("isdeleted"));
Check.Exception(mappingA == null || mappingB == null, $"Navigate property {name} error ", $"导航属性{name}配置错误");
List<Dictionary<string, object>> mappgingTables = new List<Dictionary<string, object>>();
var ids=new List<object>();
@@ -52,6 +57,10 @@ namespace SqlSugar
Dictionary<string, object> keyValuePairs = new Dictionary<string, object>();
keyValuePairs.Add(mappingA.DbColumnName, parentId);
keyValuePairs.Add(mappingB.DbColumnName, chidId);
if (mappingBizDeleteColumn != null)
{
keyValuePairs.Add(mappingBizDeleteColumn.DbColumnName, UtilMethods.GetDefaultValue(mappingBizDeleteColumn.UnderType));
}
if (mappingPk != null)
{
SetMappingTableDefaultValue(mappingPk, keyValuePairs);

View File

@@ -249,8 +249,7 @@ namespace SqlSugar
}
else if (type == UtilConstants.DateTimeOffsetType)
{
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
return FormatDateTimeOffset(value);
}
else if (type == UtilConstants.FloatType)
{
@@ -262,6 +261,12 @@ namespace SqlSugar
}
}
}
public virtual string FormatDateTimeOffset(object value)
{
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
}
#endregion
}
}

View File

@@ -353,8 +353,7 @@ namespace SqlSugar
}
else if (type == UtilConstants.DateTimeOffsetType)
{
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
return FormatDateTimeOffset(value);
}
else if (type == UtilConstants.StringType || type == UtilConstants.ObjType)
{
@@ -381,5 +380,11 @@ namespace SqlSugar
}
}
}
public virtual string FormatDateTimeOffset(object value)
{
var date = UtilMethods.ConvertFromDateTimeOffset((DateTimeOffset)value);
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
}
}
}

View File

@@ -71,5 +71,9 @@ namespace SqlSugar
return result;
}
}
public override string FormatDateTimeOffset(object value)
{
return "'" + ((DateTimeOffset)value).ToString("o") + "'";
}
}
}

View File

@@ -90,5 +90,9 @@ namespace SqlSugar
return FormatValue(it.Value);
}
}
public override string FormatDateTimeOffset(object value)
{
return "'"+((DateTimeOffset)value).ToString("o")+"'";
}
}
}