public void Visit_DbCrossJoinExpression_creates_equivalent_DbCrossJoinExpression() { var bindings = new[] { _storeItemCollection .GetEntityContainer("AdventureWorksModelStoreContainer") .EntitySets.Single(e => e.Name == "EntitiesSet") .Scan() .BindAs("table1"), _storeItemCollection .GetEntityContainer("AdventureWorksModelStoreContainer") .EntitySets.Single(e => e.Name == "OtherEntitiesSet") .Scan() .BindAs("table2") }; var crossJoinExpression = DbExpressionBuilder.CrossJoin(bindings); var legacyCrossJoinExpression = _legacyDbExpressionConverter.Visit(crossJoinExpression) as LegacyCommandTrees.DbCrossJoinExpression; Assert.NotNull(legacyCrossJoinExpression); Assert.Equal(LegacyCommandTrees.DbExpressionKind.CrossJoin, legacyCrossJoinExpression.ExpressionKind); Assert.Equal(LegacyCommandTrees.DbExpressionKind.Scan, legacyCrossJoinExpression.Inputs[0].Expression.ExpressionKind); Assert.Equal("EntitiesSet", ((LegacyCommandTrees.DbScanExpression)legacyCrossJoinExpression.Inputs[0].Expression).Target.Name); Assert.Equal("table1", legacyCrossJoinExpression.Inputs[0].VariableName); Assert.Equal(LegacyCommandTrees.DbExpressionKind.Scan, legacyCrossJoinExpression.Inputs[1].Expression.ExpressionKind); Assert.Equal( "OtherEntitiesSet", ((LegacyCommandTrees.DbScanExpression)legacyCrossJoinExpression.Inputs[1].Expression).Target.Name); Assert.Equal("table2", legacyCrossJoinExpression.Inputs[1].VariableName); TypeUsageVerificationHelper .VerifyTypeUsagesEquivalent(legacyCrossJoinExpression.ResultType, crossJoinExpression.ResultType); }