Orm_Extensions_ExecuteDelete_Test.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using Vit.Extensions.Vitorm_Extensions;
  3. using System.Data;
  4. namespace Vitorm.MsTest.CommonTest
  5. {
  6. [TestClass]
  7. public class Orm_Extensions_ExecuteDelete_Test
  8. {
  9. [TestMethod]
  10. public void Test_ExecuteDelete()
  11. {
  12. if (1 == 1)
  13. {
  14. using var dbContext = DataSource.CreateDbContext();
  15. var userQuery = dbContext.Query<User>();
  16. var query = from user in userQuery
  17. from father in userQuery.Where(father => user.fatherId == father.id).DefaultIfEmpty()
  18. where user.id <= 5 && father != null
  19. select new
  20. {
  21. user,
  22. father
  23. };
  24. var rowCount = query.ExecuteDelete();
  25. Assert.AreEqual(3, rowCount);
  26. var newUsers = userQuery.ToList();
  27. Assert.AreEqual(3, newUsers.Count());
  28. Assert.AreEqual(4, newUsers.First().id);
  29. Assert.AreEqual(6, newUsers.Last().id);
  30. }
  31. if (1 == 1)
  32. {
  33. using var dbContext = DataSource.CreateDbContext();
  34. var userQuery = dbContext.Query<User>();
  35. var rowCount = userQuery.Where(m => m.id == 2 || m.id == 4).ExecuteDelete();
  36. Assert.AreEqual(2, rowCount);
  37. var newUsers = userQuery.ToList();
  38. Assert.AreEqual(4, newUsers.Count());
  39. Assert.AreEqual(1, newUsers.First().id);
  40. Assert.AreEqual(3, newUsers[1].id);
  41. Assert.AreEqual(5, newUsers[2].id);
  42. }
  43. }
  44. }
  45. }