Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions IntegrationTests.CSharp/IntegrationTests.CSharp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -769,6 +769,9 @@
<Content Include="SystemTests\Resources\SubQueryTests.SubQueryWithNonConstantFromExpression.result">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SystemTests\Resources\MultiFromTests.QueryWithIntoEquivalent.result">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Content Include="LinqSamples101\Resources\AdvancedTests.LinqToSqlAdvanced01.result">
Expand Down
14 changes: 14 additions & 0 deletions IntegrationTests.CSharp/SystemTests/MultiFromTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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 =
Expand Down
Original file line number Diff line number Diff line change
@@ -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
}
Original file line number Diff line number Diff line change
Expand Up @@ -696,6 +696,9 @@
<Content Include="SystemTests\Resources\SystemTests.Resources.WhereTests.Query_Is.result">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="SystemTests\Resources\SystemTests.Resources.MultiFromTests.QueryWithIntoEquivalent.result">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="My Project\Resources.resx">
Expand Down
19 changes: 10 additions & 9 deletions IntegrationTests.VisualBasic/SystemTests/MultiFromTests.vb
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,17 @@ Namespace SystemTests
Public Class MultiFromTests
Inherits TestBase
<Test> _
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

<Test> _
Expand Down
Original file line number Diff line number Diff line change
@@ -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
}