diff --git a/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj b/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj
index 44ea4cc3f..ec9acbe3e 100644
--- a/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj
+++ b/IntegrationTests.CSharp/IntegrationTests.CSharp.csproj
@@ -769,6 +769,9 @@
PreserveNewest
+
+ PreserveNewest
+
diff --git a/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs b/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs
index 7f4685e41..f142bc841 100644
--- a/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs
+++ b/IntegrationTests.CSharp/SystemTests/MultiFromTests.cs
@@ -57,6 +57,20 @@ from od in o.OrderDetails
}
[Test]
+ public void QueryWithIntoEquivalent ()
+ {
+ var query =
+ from o in (
+ from c in DB.Customers
+ where c.CustomerID == "ALFKI"
+ select c.Orders)
+ from oi in o
+ from s in oi.OrderDetails
+ select s;
+ TestExecutor.Execute (query, MethodBase.GetCurrentMethod());
+ }
+
+ [Test]
public void Query_WithSeveralFroms ()
{
var query =
diff --git a/IntegrationTests.CSharp/SystemTests/Resources/MultiFromTests.QueryWithIntoEquivalent.result b/IntegrationTests.CSharp/SystemTests/Resources/MultiFromTests.QueryWithIntoEquivalent.result
new file mode 100644
index 000000000..a750e3fed
--- /dev/null
+++ b/IntegrationTests.CSharp/SystemTests/Resources/MultiFromTests.QueryWithIntoEquivalent.result
@@ -0,0 +1,74 @@
+Enumerable {
+ OrderDetail
+ Discount: 0.25
+ OrderID: 10643
+ ProductID: 28
+ Quantity: 15
+ UnitPrice: 45.6000
+ OrderDetail
+ Discount: 0.25
+ OrderID: 10643
+ ProductID: 39
+ Quantity: 21
+ UnitPrice: 18.0000
+ OrderDetail
+ Discount: 0.25
+ OrderID: 10643
+ ProductID: 46
+ Quantity: 2
+ UnitPrice: 12.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10692
+ ProductID: 63
+ Quantity: 20
+ UnitPrice: 43.9000
+ OrderDetail
+ Discount: 0
+ OrderID: 10702
+ ProductID: 3
+ Quantity: 6
+ UnitPrice: 10.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10702
+ ProductID: 76
+ Quantity: 15
+ UnitPrice: 18.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10835
+ ProductID: 59
+ Quantity: 15
+ UnitPrice: 55.0000
+ OrderDetail
+ Discount: 0.2
+ OrderID: 10835
+ ProductID: 77
+ Quantity: 2
+ UnitPrice: 13.0000
+ OrderDetail
+ Discount: 0.05
+ OrderID: 10952
+ ProductID: 6
+ Quantity: 16
+ UnitPrice: 25.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10952
+ ProductID: 28
+ Quantity: 2
+ UnitPrice: 45.6000
+ OrderDetail
+ Discount: 0.05
+ OrderID: 11011
+ ProductID: 58
+ Quantity: 40
+ UnitPrice: 13.2500
+ OrderDetail
+ Discount: 0
+ OrderID: 11011
+ ProductID: 71
+ Quantity: 20
+ UnitPrice: 21.5000
+}
diff --git a/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj b/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj
index 202d2e083..2ca882a5e 100644
--- a/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj
+++ b/IntegrationTests.VisualBasic/IntegrationTests.VisualBasic.vbproj
@@ -696,6 +696,9 @@
PreserveNewest
+
+ PreserveNewest
+
diff --git a/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb b/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb
index c9378c939..7d946819d 100644
--- a/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb
+++ b/IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb
@@ -39,16 +39,17 @@ Namespace SystemTests
Public Class MultiFromTests
Inherits TestBase
_
- Public Sub QueryWithInto()
- 'Dim query = From c In DB.Customers _
- ' Where c.CustomerID = "ALFKI" _
- ' Select c.Orders _
- ' Into x _
- ' From o In x _
- ' From od In o.OrderDetails _
- ' Select od
+ Public Sub QueryWithIntoEquivalent()
+ Dim query =
+ From o In (
+ From c In DB.Customers
+ Where c.CustomerID = "ALFKI"
+ Select c.Orders)
+ From oi In o
+ From s In oi.OrderDetails
+ Select s
- 'TestExecutor.Execute(query, MethodBase.GetCurrentMethod())
+ TestExecutor.Execute(query, MethodBase.GetCurrentMethod())
End Sub
_
diff --git a/IntegrationTests.VisualBasic/SystemTests/Resources/SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result b/IntegrationTests.VisualBasic/SystemTests/Resources/SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result
new file mode 100644
index 000000000..a750e3fed
--- /dev/null
+++ b/IntegrationTests.VisualBasic/SystemTests/Resources/SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result
@@ -0,0 +1,74 @@
+Enumerable {
+ OrderDetail
+ Discount: 0.25
+ OrderID: 10643
+ ProductID: 28
+ Quantity: 15
+ UnitPrice: 45.6000
+ OrderDetail
+ Discount: 0.25
+ OrderID: 10643
+ ProductID: 39
+ Quantity: 21
+ UnitPrice: 18.0000
+ OrderDetail
+ Discount: 0.25
+ OrderID: 10643
+ ProductID: 46
+ Quantity: 2
+ UnitPrice: 12.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10692
+ ProductID: 63
+ Quantity: 20
+ UnitPrice: 43.9000
+ OrderDetail
+ Discount: 0
+ OrderID: 10702
+ ProductID: 3
+ Quantity: 6
+ UnitPrice: 10.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10702
+ ProductID: 76
+ Quantity: 15
+ UnitPrice: 18.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10835
+ ProductID: 59
+ Quantity: 15
+ UnitPrice: 55.0000
+ OrderDetail
+ Discount: 0.2
+ OrderID: 10835
+ ProductID: 77
+ Quantity: 2
+ UnitPrice: 13.0000
+ OrderDetail
+ Discount: 0.05
+ OrderID: 10952
+ ProductID: 6
+ Quantity: 16
+ UnitPrice: 25.0000
+ OrderDetail
+ Discount: 0
+ OrderID: 10952
+ ProductID: 28
+ Quantity: 2
+ UnitPrice: 45.6000
+ OrderDetail
+ Discount: 0.05
+ OrderID: 11011
+ ProductID: 58
+ Quantity: 40
+ UnitPrice: 13.2500
+ OrderDetail
+ Discount: 0
+ OrderID: 11011
+ ProductID: 71
+ Quantity: 20
+ UnitPrice: 21.5000
+}