ApendJoinLastAfter.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using System.Linq;
  6. namespace SqlSugar
  7. {
  8. /// <summary>
  9. /// ApendJoinLastAfter
  10. /// </summary>
  11. public partial class JsonQueryableProvider : IJsonQueryableProvider<JsonQueryResult>
  12. {
  13. private void ApendJoinLastAfter(JToken item)
  14. {
  15. if (IsAppendSelect())
  16. {
  17. JArray jArray = new JArray();
  18. var tableConfigs = this.jsonTableConfigs.GroupBy(it => it.TableName).Select(it => it.First()).ToList();
  19. var isJoinTable = IsAnyJoin(appendTypeNames);
  20. foreach (var config in tableConfigs)
  21. {
  22. if (isJoinTable)
  23. {
  24. }
  25. else
  26. {
  27. if (config.Columns.Any())
  28. {
  29. foreach (var column in config.Columns.Select(it => it.Name).Distinct())
  30. {
  31. jArray.Add(column);
  32. }
  33. }
  34. }
  35. }
  36. this.AppendSelect(jArray);
  37. }
  38. }
  39. private bool IsAppendSelect()
  40. {
  41. return !IsAnySelect(appendTypeNames) && this.jsonTableConfigs.Any();
  42. }
  43. }
  44. }