public void TwoRecordsetsAreReturned() { var results = Connection().QueryResultsSql <ParentTestData, TestData2>(ParentTestData.Sql + TestData2.Sql); Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: false); TestData2.Verify(results.Set2); }
public void RecordsetWithDefaultGraphIsReturned() { var results = Connection().QueryResultsSql <ParentTestDataWithDefaultGraph, TestData2>(ParentTestData.Sql + TestData2.Sql); Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: true); TestData2.Verify(results.Set2); }
public void RegexReplaceShouldAlterColumnName() { ColumnMapping.Tables.ReplaceRegex("_", String.Empty); var sql = ParentTestData.Sql.Replace("ParentX", "_Parent_X"); Assert.AreNotEqual(sql, ParentTestData.Sql); var results = Connection().QuerySql<ParentTestData, TestData>(sql); ParentTestData.Verify(results); }
public void SuffixRemoveShouldAlterColumnName() { ColumnMapping.Tables.RemoveSuffixes("int"); var sql = ParentTestData.Sql.Replace("ParentX", "ParentXint"); Assert.AreNotEqual(sql, ParentTestData.Sql); var results = Connection().QuerySql<ParentTestData, TestData>(sql); ParentTestData.Verify(results); }
public void ReplaceCanBeChained() { ColumnMapping.Tables.RemovePrefixes("int").RemoveSuffixes("Foo").RemoveStrings("_"); var sql = ParentTestData.Sql.Replace("ParentX", "_Parent_X_Foo"); Assert.AreNotEqual(sql, ParentTestData.Sql); var results = Connection().QuerySql<ParentTestData, TestData>(sql); ParentTestData.Verify(results); }
public void TestMultipleRecordsetsWithGraph() { Results <ParentTestData, TestData2> results = Connection().Dynamic().GetParentAndChildTestData( returns: Query.Returns(OneToOne <ParentTestData, TestData> .Records) .Then(Some <TestData2> .Records)); Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: true); TestData2.Verify(results.Set2); }
public void SelectSubObjectToListWithGraph() { using (var connection = Connection().OpenConnection()) { var reader = connection.GetReaderSql(ParentTestData.Sql); var results = reader.ToList <ParentTestData>(typeof(Graph <ParentTestData, TestData>)); ParentTestData.Verify(results, withGraph: true); } }
public void RecordsetWithGraphIsReturned() { var results = Connection().QueryResultsSql <ParentTestData, TestData2>( ParentTestData.Sql + TestData2.Sql, null, withGraphs: new[] { typeof(Graph <ParentTestData, TestData>) }); Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: true); TestData2.Verify(results.Set2); }
public void NullListsAreReturnedWhenFewerRecordsetsAreReturnedAsync2() { // expect two recordsets, but retrieve one. remaining recordsets should be null, not empty. var results = Connection().QueryResultsSqlAsync <ParentTestData, TestData2>(ParentTestData.Sql).Result; Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: false); Assert.IsNotNull(results.Set2); Assert.AreEqual(0, results.Set2.Count); }
public void DerivedRecordsetsCanBeReturned() { var results = Connection().QueryResultsSqlAsync <PageData <ParentTestData> >(ParentTestData.Sql + "SELECT TotalCount=70").Result; Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: false); Assert.IsNotNull(results.Set2); Assert.AreEqual(1, results.Set2.Count); Assert.AreEqual(70, results.TotalCount); }
public void TestMultipleRecordsets() { // going to infer the return type of the stored procedure rather than specifying it Results <ParentTestData, TestData2> results = Connection().Dynamic().GetParentAndChildTestData( returns: Query.Returns(Some <ParentTestData> .Records) .Then(Some <TestData2> .Records)); Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: false); TestData2.Verify(results.Set2); }
public void MappingsAreAppliedToTableValuedParameters() { // get a stanard set of objects from the server var original = Connection().QuerySql<ParentTestData>(ParentTestData.Sql); ParentTestData.Verify(original, false); ColumnMapping.Tables.RemovePrefixes("int"); // send the object up to the server and get them back var results = Connection().Query<ParentTestData>("MappingTestProc", original); ParentTestData.Verify(results, false); }
public void TestReturnTypeOverrideWithJustWithGraph() { using (var connection = ConnectionWithTransaction()) { connection.ExecuteSql("CREATE PROC InsightTestProc AS " + ParentTestData.Sql); var dc = connection.Dynamic(); // going to infer the return type of the stored procedure rather than specifying it IList <ParentTestData> results = dc.InsightTestProc(withGraph: typeof(Graph <ParentTestData>)); ParentTestData.Verify(results, false); } }
public void ForEachSubObjectSingleWithGraph() { Connection().ForEachSql <ParentTestData>( ParentTestData.Sql, Parameters.Empty, results => { ParentTestData.Verify(new List <ParentTestData>() { results }, withGraph: true); }, withGraph: typeof(Graph <ParentTestData, TestData>)); }
public void TestMultipleRecordsets() { using (var connection = ConnectionWithTransaction()) { connection.ExecuteSql("CREATE PROC InsightTestProc (@Value varchar(128)) AS " + ParentTestData.Sql + TestData2.Sql); string value = "foo"; var dc = connection.Dynamic(); // going to infer the return type of the stored procedure rather than specifying it Results <ParentTestDataWithDefaultGraph, TestData2> results = dc.InsightTestProc(value, returnType: typeof(Results <ParentTestDataWithDefaultGraph, TestData2>)); Assert.IsNotNull(results); ParentTestData.Verify(results.Set1, withGraph: true); TestData2.Verify(results.Set2); } }
public void InterfaceIsGenerated() { var connection = Connection(); // make sure that we can create an interface ITest1 i = connection.As <ITest1>(); Assert.IsNotNull(i); // make sure that the wrapper is still a connection DbConnection c = i as DbConnection; Assert.IsNotNull(c); // let's call us some methods i.ExecuteSomething(); i.ExecuteSomethingWithParameters(5, "6"); Assert.AreEqual(9, i.ExecuteSomethingScalar(9)); i.SingleObject().Verify(false); Assert.IsNull(i.SingleObjectWithNoData()); Assert.AreEqual(2, i.QueryValue(9).Count()); ParentTestData.Verify(i.QueryObject(), false); Assert.AreEqual(11, i.ObjectAsParameter(new ParentTestData() { ParentX = 11 })); Assert.AreEqual(11, i.ObjectListAsParameter(new[] { new ParentTestData() { ParentX = 11 } }).First()); var results = i.QueryResults(7); ParentTestData.Verify(results.Set1, false); Assert.AreEqual(7, results.Set2.First()); // let's call them asynchronously i.ExecuteSomethingAsync().Wait(); i.ExecuteSomethingWithParametersAsync(5, "6").Wait(); Assert.AreEqual(9, i.ExecuteSomethingScalarAsync(9).Result); i.SingleObjectAsync().Result.Verify(false); Assert.AreEqual(2, i.QueryValueAsync(9).Result.Count()); ParentTestData.Verify(i.QueryObjectAsync().Result, false); Assert.AreEqual(11, i.ObjectAsParameterAsync(new ParentTestData() { ParentX = 11 }).Result); Assert.AreEqual(11, i.ObjectListAsParameterAsync(new[] { new ParentTestData() { ParentX = 11 } }).Result.First()); results = i.QueryResultsAsync(7).Result; ParentTestData.Verify(results.Set1, false); Assert.AreEqual(7, results.Set2.First()); // inline SQL! Assert.AreEqual("42", i.InlineSql(42)); Assert.AreEqual(99, i.InlineSqlProcOverride(99)); Assert.AreEqual(98, i.InlineSqlWithSchema(98)); Assert.AreEqual(98, connection.As <ITestWithSqlAttribute>().ExecuteSomethingScalar(98)); }
public void TestAsyncQueryWithDefaultGraph() { var results = Connection().QuerySqlAsync <ParentTestDataWithDefaultGraph>(ParentTestData.Sql).Result; ParentTestData.Verify(results); }
public void TestAsyncQueryWithGraph() { var results = Connection().QuerySqlAsync <ParentTestData>(ParentTestData.Sql, null, withGraph: typeof(Graph <ParentTestData, TestData>)).Result; ParentTestData.Verify(results); }
public void TestReturnTypeOverrideWithUnnamedParameter() { IList <ParentTestData> results = Connection().Dynamic().GetParentTestData(Query.Returns(Some <ParentTestData> .Records)); ParentTestData.Verify(results, false); }
public void TestObjectWithDefaultGraphDefinition() { var results = Connection().QuerySql <ParentTestDataWithDefaultGraph>(ParentTestData.Sql); ParentTestData.Verify(results, withGraph: true); }