public async Task TestDomainService_QueryDirect() { TestDomainServices.LTS.Catalog provider = ServerTestHelper.CreateInitializedDomainService <TestDomainServices.LTS.Catalog>(DomainOperationType.Query); DomainServiceDescription serviceDescription = DomainServiceDescription.GetDescription(provider.GetType()); DomainOperationEntry method = serviceDescription.DomainOperationEntries.Where(p => p.Operation == DomainOperation.Query).First(p => p.Name == "GetProductsByCategory"); QueryDescription qd = new QueryDescription(method, new object[] { 1 }); var queryResult = await provider.QueryAsync <DataTests.AdventureWorks.LTS.Product>(qd, CancellationToken.None); int count = queryResult.Result.Cast <DataTests.AdventureWorks.LTS.Product>().Count(); Assert.AreEqual(32, count); // verify that we can use the same provider to execute another query qd = new QueryDescription(method, new object[] { 2 }); queryResult = await provider.QueryAsync <DataTests.AdventureWorks.LTS.Product>(qd, CancellationToken.None); count = queryResult.Result.Cast <DataTests.AdventureWorks.LTS.Product>().Count(); Assert.AreEqual(43, count); }
public void TestDomainService_QueryDirect() { TestDomainServices.LTS.Catalog provider = ServerTestHelper.CreateInitializedDomainService <TestDomainServices.LTS.Catalog>(DomainOperationType.Query); DomainServiceDescription serviceDescription = DomainServiceDescription.GetDescription(provider.GetType()); DomainOperationEntry method = serviceDescription.DomainOperationEntries.Where(p => p.Operation == DomainOperation.Query).First(p => p.Name == "GetProductsByCategory"); QueryDescription qd = new QueryDescription(method, new object[] { 1 }); int totalCount; IEnumerable <ValidationResult> validationErrors; IEnumerable result = provider.Query(qd, out validationErrors, out totalCount); int count = result.Cast <DataTests.AdventureWorks.LTS.Product>().Count(); Assert.AreEqual(32, count); // verify that we can use the same provider to execute another query qd = new QueryDescription(method, new object[] { 2 }); result = provider.Query(qd, out validationErrors, out totalCount); count = result.Cast <DataTests.AdventureWorks.LTS.Product>().Count(); Assert.AreEqual(43, count); }