public void SetUp() { var sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(); _entityExpression = new SqlEntityDefinitionExpression( typeof(string), "t", null, e => e.GetColumn(typeof(string), "ID", true), new SqlColumnExpression[] { new SqlColumnDefinitionExpression(typeof(string), "t", "ID", true), new SqlColumnDefinitionExpression(typeof(int), "t", "Name", false), new SqlColumnDefinitionExpression(typeof(int), "t", "City", false) }); _sqlStatement = new SqlStatement( new TestStreamedValueInfo(typeof(int)), _entityExpression, new[] { sqlTable }, null, null, new Ordering[] { }, null, false, null, null); _commandBuilder = new SqlCommandBuilder(); }
public void ResolveTableInfo_GroupReferenceTableInfo_NoSubStatement() { var groupSource = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(typeof(IEnumerable <Cook>)); var tableInfo = new UnresolvedGroupReferenceTableInfo(groupSource); ResolvingTableInfoVisitor.ResolveTableInfo(tableInfo, _resolverMock, _generator, _stageMock, _mappingResolutionContext); }
public void SetUp() { _sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(); _stageMock = MockRepository.GenerateStrictMock <ISqlGenerationStage>(); _generator = new TestableSqlStatementTextGenerator(_stageMock); _commandBuilder = new SqlCommandBuilder(); }
public void GenerateSql_ForSeveralTables() { var sqlTable1 = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("Table1", "t1"); var sqlTable2 = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("Table2", "t2"); var sqlTable3 = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("Table3", "t3"); SqlTableAndJoinTextGenerator.GenerateSql(sqlTable1, _commandBuilder, _stageMock, true); SqlTableAndJoinTextGenerator.GenerateSql(sqlTable2, _commandBuilder, _stageMock, false); SqlTableAndJoinTextGenerator.GenerateSql(sqlTable3, _commandBuilder, _stageMock, false); Assert.That(_commandBuilder.GetCommandText(), Is.EqualTo("[Table1] AS [t1] CROSS JOIN [Table2] AS [t2] CROSS JOIN [Table3] AS [t3]")); }
public void ResolveTableReferenceExpression() { var expression = new SqlTableReferenceExpression(SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(typeof(Cook))); var fakeResult = SqlStatementModelObjectMother.CreateSqlEntityDefinitionExpression(typeof(Cook)); _resolverMock .Expect(mock => mock.ResolveSimpleTableInfo(expression.SqlTable.GetResolvedTableInfo(), _uniqueIdentifierGenerator)) .Return(fakeResult); var result = _stage.ResolveTableReferenceExpression(expression, _mappingResolutionContext); Assert.That(result, Is.SameAs(fakeResult)); }
public void SetUp() { _stageMock = MockRepository.GenerateStrictMock <IMappingResolutionStage>(); _resolverMock = MockRepository.GenerateStrictMock <IMappingResolver>(); _sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(typeof(Cook)); _mappingResolutionContext = new MappingResolutionContext(); _generator = new UniqueIdentifierGenerator(); _entityIdentityResolverMock = MockRepository.GenerateStrictMock <IEntityIdentityResolver> (); _compoundComparisonSplitterMock = MockRepository.GenerateStrictMock <ICompoundExpressionComparisonSplitter> (); _namedExpressionCombinerMock = MockRepository.GenerateStrictMock <INamedExpressionCombiner>(); _groupAggregateSimplifierMock = MockRepository.GenerateStrictMock <IGroupAggregateSimplifier>(); _visitor = CreateVisitor(true); }
public void GenerateSql_JoinedTable_WithLeftJoinSemantics() { var condition = Expression.Constant(true); var joinInfo = new ResolvedJoinInfo(new ResolvedSimpleTableInfo(typeof(Cook), "CookTable", "c"), condition); var sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo("KitchenTable", "k", JoinSemantics.Inner); sqlTable.GetOrAddLeftJoin(joinInfo, ExpressionHelper.GetMember <Kitchen> (k => k.Cook)); _stageMock .Expect(mock => mock.GenerateTextForJoinCondition(_commandBuilder, condition)) .WhenCalled(mi => ((SqlCommandBuilder)mi.Arguments[0]).Append("condition")); SqlTableAndJoinTextGenerator.GenerateSql(sqlTable, _commandBuilder, _stageMock, isFirstTable: true); Assert.That(_commandBuilder.GetCommandText(), Is.EqualTo("[KitchenTable] AS [k] LEFT OUTER JOIN [CookTable] AS [c] ON condition")); }
public void SetUp() { _sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(); _entityExpression = new SqlEntityDefinitionExpression( typeof(string), "t", null, e => e.GetColumn(typeof(int), "ID", true), new SqlColumnExpression[] { new SqlColumnDefinitionExpression(typeof(int), "t", "ID", true), new SqlColumnDefinitionExpression(typeof(int), "t", "Name", false), new SqlColumnDefinitionExpression(typeof(int), "t", "City", false) }); _stageMock = MockRepository.GenerateStrictMock <ISqlGenerationStage>(); _generator = new TestableSqlStatementTextGenerator(_stageMock); _commandBuilder = new SqlCommandBuilder(); }
public void SetUp() { var sqlTable = SqlStatementModelObjectMother.CreateSqlTable_WithResolvedTableInfo(); _entityExpression = new SqlEntityDefinitionExpression( typeof(string), "t", null, e => e.GetColumn(typeof(string), "ID", true), new SqlColumnExpression[] { new SqlColumnDefinitionExpression(typeof(string), "t", "ID", true), new SqlColumnDefinitionExpression(typeof(int), "t", "Name", false), new SqlColumnDefinitionExpression(typeof(int), "t", "City", false) }); _sqlStatement = SqlStatementModelObjectMother.CreateMinimalSqlStatement( new SqlStatementBuilder { SelectProjection = _entityExpression, SqlTables = { sqlTable } }); _commandBuilder = new SqlCommandBuilder(); }