SqlServer_Test.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using Microsoft.VisualStudio.TestTools.UnitTesting;
  2. using Vitorm.Sql;
  3. using User = Vitorm.MsTest.SqlServer.User;
  4. namespace Vitorm.MsTest.SqlServer
  5. {
  6. public class User : Vitorm.MsTest.UserBase
  7. {
  8. [System.ComponentModel.DataAnnotations.Key]
  9. [System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
  10. public override int id { get; set; }
  11. }
  12. }
  13. namespace Vitorm.MsTest
  14. {
  15. [TestClass]
  16. public partial class SqlServer_Test : UserTest<User>
  17. {
  18. [TestMethod]
  19. public void Test()
  20. {
  21. Init();
  22. Test_DbContext();
  23. Test_Transaction();
  24. Test_Get();
  25. Test_Query();
  26. Test_QueryJoin();
  27. Test_ToExecuteString();
  28. Test_ExecuteUpdate();
  29. Test_ExecuteDelete();
  30. Test_Create();
  31. Test_Update();
  32. Test_Delete();
  33. }
  34. public override User NewUser(int id, bool forAdd = false) => new User { id = forAdd ? 0 : id, name = "testUser" + id };
  35. public void Init()
  36. {
  37. using var dbContext = Data.DataProvider<User>()?.CreateDbContext() as SqlDbContext;
  38. dbContext.TryDropTable<User>();
  39. dbContext.TryCreateTable<User>();
  40. var users = new List<User> {
  41. new User { name="u146", fatherId=4, motherId=6 },
  42. new User { name="u246", fatherId=4, motherId=6 },
  43. new User { name="u356", fatherId=5, motherId=6 },
  44. new User { name="u400" },
  45. new User { name="u500" },
  46. new User { name="u600" },
  47. };
  48. dbContext.AddRange(users);
  49. users.ForEach(user => { user.birth = DateTime.Parse("2021-01-01 00:00:00").AddHours(user.id); });
  50. dbContext.UpdateRange(users);
  51. WaitForUpdate();
  52. }
  53. }
  54. }