Orm_Extensions_ExecuteDelete_Test.cs 1.7 KB

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