Query_ScopeParam_Test.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System.Data;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. namespace Vitorm.MsTest.CommonTest
  4. {
  5. [TestClass]
  6. public class Query_Query_ScopeParam_Test_Test
  7. {
  8. [TestMethod]
  9. public void Test_Join_Demo()
  10. {
  11. using var dbContext = DataSource.CreateDbContext();
  12. var userQuery = dbContext.Query<User>();
  13. // params form method arg
  14. QueryByArg(userQuery, 2);
  15. // params from scope
  16. {
  17. var id = 2;
  18. var query =
  19. from user in userQuery
  20. where user.id > id
  21. orderby user.id
  22. select new { user };
  23. var userList = query.ToList();
  24. Assert.AreEqual(4, userList.Count);
  25. Assert.AreEqual(3, userList[0].user.id);
  26. Assert.AreEqual(4, userList[1].user.id);
  27. }
  28. // params from scope
  29. {
  30. var userArg = new { id = 2 };
  31. var query =
  32. from user in userQuery
  33. where user.id > userArg.id
  34. orderby user.id
  35. select new { user };
  36. var userList = query.ToList();
  37. Assert.AreEqual(4, userList.Count);
  38. Assert.AreEqual(3, userList[0].user.id);
  39. Assert.AreEqual(4, userList[1].user.id);
  40. }
  41. }
  42. void QueryByArg(IQueryable<User> userQuery, int id)
  43. {
  44. // Linq Expression
  45. {
  46. var query =
  47. from user in userQuery
  48. where user.id > id
  49. orderby user.id
  50. select new { user };
  51. var userList = query.ToList();
  52. Assert.AreEqual(4, userList.Count);
  53. Assert.AreEqual(3, userList[0].user.id);
  54. Assert.AreEqual(4, userList[1].user.id);
  55. }
  56. }
  57. }
  58. }