diff --git a/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderHelper.cs b/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderHelper.cs index eb5fb207f..d8d038dfb 100644 --- a/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderHelper.cs +++ b/Src/Asp.NetCore2/SqlSugar/Abstract/ExecuteNavProvider/InsertNavProviderHelper.cs @@ -94,6 +94,10 @@ namespace SqlSugar private void InsertDatas(List children, EntityColumnInfo pkColumn, EntityColumnInfo NavColumn=null) where TChild : class, new() { children = children.Distinct().ToList(); + if (pkColumn == null) + { + Check.ExceptionEasy($"{typeof(TChild).Name} need primary key ", $"{typeof(TChild).Name}需要主键"); + } var x = this._Context.Storageable(children).WhereColumns(new string[] { pkColumn.PropertyName }).ToStorage(); var insertData = children = x.InsertList.Select(it => it.Item).ToList(); var IsNoExistsNoInsert = _navOptions != null && _navOptions.OneToManyIfExistsNoInsert == true; diff --git a/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs b/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs index a642d3d7c..bd5f60415 100644 --- a/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs +++ b/Src/Asp.NetCore2/SqlSugar/Utilities/UtilMethods.cs @@ -370,6 +370,7 @@ namespace SqlSugar else return Enum.ToObject(type, value); } + if (value is string && type == typeof(Guid?)) return value.IsNullOrEmpty() ? null : (Guid?)new Guid(value as string); if (!type.IsInterface && type.IsGenericType) { Type innerType = type.GetGenericArguments()[0];