2 using System.Collections.Generic;
\r
6 using NUnit.Framework;
\r
7 using Test_NUnit.Linq_101_Samples;
\r
8 using System.Data.Linq;
\r
14 namespace Test_NUnit_MySql
\r
16 namespace Test_NUnit_OracleODP
\r
18 namespace Test_NUnit_Oracle
\r
20 namespace Test_NUnit_PostgreSql
\r
22 namespace Test_NUnit_Sqlite
\r
24 namespace Test_NUnit_Ingres
\r
25 #elif MSSQL && L2SQL
\r
26 namespace Test_NUnit_MsSql_Strict
\r
28 namespace Test_NUnit_MsSql
\r
30 namespace Test_NUnit_Firebird
\r
34 public class ReadTests_ReferenceLoading : TestBase
\r
38 public void ReferenceLoading01()
\r
40 var db = CreateDB();
\r
41 var order = db.Orders.First();
\r
42 Assert.IsNotNull(order.Employee);
\r
46 public void ReferenceLoading02()
\r
48 var db = CreateDB();
\r
49 var c = db.Customers.First();
\r
50 Assert.IsNotNull(c.Orders.First().Employee);
\r
54 public void ReferenceLoading03()
\r
56 var db = CreateDB();
\r
57 var employeeTerritory = db.EmployeeTerritories.First();
\r
58 Assert.IsNotNull(employeeTerritory.Territory.Region.RegionID);
\r
62 public void ReferenceLoading04()
\r
64 var db = CreateDB();
\r
65 var q = db.Employees.Select(e => new { e.Region });
\r
67 var list = q.ToList();
\r
68 Assert.AreEqual(db.Employees.Count(), list.Count);
\r
71 #if !DEBUG && (SQLITE || (MSSQL && !MONO_STRICT))
\r
75 public void ComplexProjection01()
\r
77 var db = CreateDB();
\r
78 var q = db.Employees.Select(e => e.Orders);
\r
80 var list = q.ToList();
\r
81 Assert.AreEqual(db.Employees.Count(), list.Count);
\r
84 #if !DEBUG && (SQLITE || (MSSQL && !MONO_STRICT))
\r
88 public void ComplexProjection02()
\r
90 var db = CreateDB();
\r
91 var q = db.Employees.Select(e => new { e.Orders });
\r
93 var list = q.ToList();
\r
94 Assert.AreEqual(db.Employees.Count(), list.Count);
\r
98 #if !DEBUG && (SQLITE || (MSSQL && !MONO_STRICT))
\r
102 public void ComplexProjection03()
\r
104 var db = CreateDB();
\r
105 var q = db.Employees.Select(e => e.Orders.Select(o => o.OrderID));
\r
107 var list = q.ToList();
\r
108 Assert.AreEqual(db.Employees.Count(), list.Count);
\r
112 #if !DEBUG && (SQLITE || (MSSQL && !MONO_STRICT))
\r
116 public void ComplexProjection04()
\r
118 var db = CreateDB();
\r
119 var q = db.Employees.Select(e => e.Orders.Select(o => o.OrderID));
\r
121 var list = q.ToList();
\r
122 Assert.AreEqual(db.Employees.Count(), list.Count);
\r
125 #if !DEBUG && (SQLITE || (MSSQL && !MONO_STRICT))
\r
129 public void ComplexProjection05()
\r
131 var db = CreateDB();
\r
132 var q = db.Orders.Select(o => o.Employee.EmployeeTerritories);
\r
134 var list = q.ToList();
\r
135 Assert.AreEqual(db.Orders.Count(), list.Count);
\r
138 #if !DEBUG && (SQLITE || (MSSQL && !MONO_STRICT))
\r
142 public void ComplexProjection06()
\r
144 var db = CreateDB();
\r
145 var q = db.Orders.Select(o => new { o.Employee, X = o.OrderDetails.Select(od => od.Product) });
\r
147 var list = q.ToList();
\r
148 Assert.AreEqual(db.Orders.Count(), list.Count);
\r
151 #if !DEBUG && (SQLITE || (MSSQL && !MONO_STRICT))
\r
155 public void ComplexProjection07()
\r
157 var db = CreateDB();
\r
158 var q = db.Employees.Select(e => e.Orders.Select(o=>o));
\r
160 var list = q.ToList();
\r