Helper.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. namespace SqlSugar
  7. {
  8. public partial class JsonInsertableProvider : IJsonInsertableProvider<JsonInsertResult>
  9. {
  10. private static bool IsColumns(string name)
  11. {
  12. return name == "columns".ToLower();
  13. }
  14. private static bool IsName(string name)
  15. {
  16. return name == JsonProviderConfig.KeyInsertable.Get().ToLower();
  17. }
  18. private static bool IsIdentity(string name)
  19. {
  20. return name == "identity".ToLower();
  21. }
  22. private List<SqlObjectResult> ToSqlHelper()
  23. {
  24. List<SqlObjectResult> result = new List<SqlObjectResult>();
  25. JsonQueryParameter jsonQueryParameter = new JsonQueryParameter();
  26. var appendTypeNames = this.jObject.AsJEnumerable().ToList();
  27. foreach (JToken item in appendTypeNames.OrderBy(it => it.Path.EqualCase(JsonProviderConfig.KeyInsertable.Get()) ? 0 : 1))
  28. {
  29. AppendAll(jsonQueryParameter, item);
  30. }
  31. var addItem = this.sugarInsertable.ToSql();
  32. if (this.IdentityId.HasValue())
  33. {
  34. result.Add(new SqlObjectResult(addItem, JsonProviderType.InsertableIdentity));
  35. }
  36. else
  37. {
  38. result.Add(new SqlObjectResult(addItem, JsonProviderType.Insertable));
  39. }
  40. return result;
  41. }
  42. }
  43. }