IGNITE-7318 .NET: Move SQL examples to Sql namespace
authorPavel Tupitsyn <ptupitsyn@apache.org>
Wed, 10 Jan 2018 12:11:27 +0000 (15:11 +0300)
committerPavel Tupitsyn <ptupitsyn@apache.org>
Wed, 10 Jan 2018 12:11:27 +0000 (15:11 +0300)
This closes #3333

modules/platforms/dotnet/Apache.Ignite.Core.Tests/Examples/ExamplesTest.cs
modules/platforms/dotnet/examples/Apache.Ignite.Examples/Apache.Ignite.Examples.csproj
modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/QueryExample.cs
modules/platforms/dotnet/examples/Apache.Ignite.Examples/Sql/LinqExample.cs [moved from modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/LinqExample.cs with 97% similarity]
modules/platforms/dotnet/examples/Apache.Ignite.Examples/Sql/SqlDmlExample.cs [moved from modules/platforms/dotnet/examples/Apache.Ignite.Examples/Datagrid/QueryDmlExample.cs with 95% similarity]
modules/platforms/dotnet/examples/Apache.Ignite.Examples/Sql/SqlExample.cs [new file with mode: 0644]

index 48e471f..90e8e0a 100644 (file)
@@ -28,6 +28,7 @@ namespace Apache.Ignite.Core.Tests.Examples
     using Apache.Ignite.Examples.Datagrid;
     using Apache.Ignite.Examples.Messaging;
     using Apache.Ignite.Examples.Misc;
+    using Apache.Ignite.Examples.Sql;
     using Apache.Ignite.Examples.ThinClient;
     using NUnit.Framework;
 
@@ -57,7 +58,7 @@ namespace Apache.Ignite.Core.Tests.Examples
         private static readonly Type[] NoDllExamples =
         {
             typeof(BinaryModeExample), typeof(NearCacheExample), typeof(PeerAssemblyLoadingExample),
-            typeof(ThinClientPutGetExample)
+            typeof(ThinClientPutGetExample), typeof(SqlExample), typeof(LinqExample), typeof(SqlDmlExample)
         };
 
         /** Config file path. */
index 0aaa249..6106ffd 100644 (file)
@@ -52,6 +52,9 @@
     <Reference Include="System.Transactions" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Sql\LinqExample.cs" />
+    <Compile Include="Sql\SqlDmlExample.cs" />
+    <Compile Include="Sql\SqlExample.cs" />
     <Compile Include="ThinClient\ThinClientPutGetExample.cs" />
     <Compile Include="ThinClient\ThinClientQueryExample.cs" />
     <Compile Include="Compute\ClosureExample.cs" />
@@ -64,9 +67,7 @@
     <Compile Include="Datagrid\NearCacheExample.cs" />
     <Compile Include="Datagrid\OptimisticTransactionExample.cs" />
     <Compile Include="Datagrid\PutGetExample.cs" />
-    <Compile Include="Datagrid\LinqExample.cs" />
     <Compile Include="Datagrid\BinaryModeExample.cs" />
-    <Compile Include="Datagrid\QueryDmlExample.cs" />
     <Compile Include="Datagrid\QueryExample.cs" />
     <Compile Include="Datagrid\StoreExample.cs" />
     <Compile Include="Datagrid\TransactionDeadlockDetectionExample.cs" />
index 23736ea..82bd72a 100644 (file)
@@ -20,15 +20,13 @@ namespace Apache.Ignite.Examples.Datagrid
     using System;
     using Apache.Ignite.Core;
     using Apache.Ignite.Core.Cache;
-    using Apache.Ignite.Core.Cache.Affinity;
     using Apache.Ignite.Core.Cache.Configuration;
     using Apache.Ignite.Core.Cache.Query;
     using Apache.Ignite.ExamplesDll.Binary;
     using Apache.Ignite.ExamplesDll.Datagrid;
 
     /// <summary>
-    /// This example populates cache with sample data and runs several SQL and
-    /// full text queries over this data.
+    /// This example populates cache with sample data and runs Scan and Full-text queries.
     /// <para />
     /// 1) Build the project Apache.Ignite.ExamplesDll (select it -> right-click -> Build).
     ///    Apache.Ignite.ExamplesDll.dll must appear in %IGNITE_HOME%/platforms/dotnet/examples/Apache.Ignite.ExamplesDll/bin/${Platform]/${Configuration} folder.
@@ -43,15 +41,9 @@ namespace Apache.Ignite.Examples.Datagrid
     /// </summary>
     public class QueryExample
     {
-        /// <summary>Organization cache name.</summary>
-        private const string OrganizationCacheName = "dotnet_cache_query_organization";
-
         /// <summary>Employee cache name.</summary>
         private const string EmployeeCacheName = "dotnet_cache_query_employee";
 
-        /// <summary>Employee cache name.</summary>
-        private const string EmployeeCacheNameColocated = "dotnet_cache_query_employee_colocated";
-
         [STAThread]
         public static void Main()
         {
@@ -63,32 +55,12 @@ namespace Apache.Ignite.Examples.Datagrid
                 var employeeCache = ignite.GetOrCreateCache<int, Employee>(
                     new CacheConfiguration(EmployeeCacheName, typeof(Employee)));
 
-                var employeeCacheColocated = ignite.GetOrCreateCache<AffinityKey, Employee>(
-                    new CacheConfiguration(EmployeeCacheNameColocated, typeof(Employee)));
-
-                var organizationCache = ignite.GetOrCreateCache<int, Organization>(
-                    new CacheConfiguration(OrganizationCacheName, new QueryEntity(typeof(int), typeof(Organization))));
-
                 // Populate cache with sample data entries.
                 PopulateCache(employeeCache);
-                PopulateCache(employeeCacheColocated);
-                PopulateCache(organizationCache);
 
                 // Run scan query example.
                 ScanQueryExample(employeeCache);
 
-                // Run SQL query example.
-                SqlQueryExample(employeeCache);
-
-                // Run SQL query with join example.
-                SqlJoinQueryExample(employeeCacheColocated);
-
-                // Run SQL query with distributed join example.
-                SqlDistributedJoinQueryExample(employeeCache);
-
-                // Run SQL fields query example.
-                SqlFieldsQueryExample(employeeCache);
-
                 // Run full text query example.
                 FullTextQueryExample(employeeCache);
 
@@ -118,79 +90,6 @@ namespace Apache.Ignite.Examples.Datagrid
         }
 
         /// <summary>
-        /// Queries employees that have provided ZIP code in address.
-        /// </summary>
-        /// <param name="cache">Cache.</param>
-        private static void SqlQueryExample(ICache<int, Employee> cache)
-        {
-            const int zip = 94109;
-
-            var qry = cache.Query(new SqlQuery(typeof(Employee), "zip = ?", zip));
-
-            Console.WriteLine();
-            Console.WriteLine(">>> Employees with zipcode {0} (SQL):", zip);
-
-            foreach (var entry in qry)
-                Console.WriteLine(">>>    " + entry.Value);
-        }
-
-        /// <summary>
-        /// Queries employees that work for organization with provided name.
-        /// </summary>
-        /// <param name="cache">Cache.</param>
-        private static void SqlJoinQueryExample(ICache<AffinityKey, Employee> cache)
-        {
-            const string orgName = "Apache";
-
-            var qry = cache.Query(new SqlQuery("Employee",
-                "from Employee, \"dotnet_cache_query_organization\".Organization " +
-                "where Employee.organizationId = Organization._key and Organization.name = ?", orgName));
-
-            Console.WriteLine();
-            Console.WriteLine(">>> Employees working for " + orgName + ":");
-
-            foreach (var entry in qry)
-                Console.WriteLine(">>>     " + entry.Value);
-        }
-
-        /// <summary>
-        /// Queries employees that work for organization with provided name.
-        /// </summary>
-        /// <param name="cache">Cache.</param>
-        private static void SqlDistributedJoinQueryExample(ICache<int, Employee> cache)
-        {
-            const string orgName = "Apache";
-
-            var qry = cache.Query(new SqlQuery("Employee",
-                "from Employee, \"dotnet_cache_query_organization\".Organization " +
-                "where Employee.organizationId = Organization._key and Organization.name = ?", orgName)
-            {
-                EnableDistributedJoins = true
-            });
-
-            Console.WriteLine();
-            Console.WriteLine(">>> Employees working for " + orgName + ":");
-
-            foreach (var entry in qry)
-                Console.WriteLine(">>>     " + entry.Value);
-        }
-
-        /// <summary>
-        /// Queries names and salaries for all employees.
-        /// </summary>
-        /// <param name="cache">Cache.</param>
-        private static void SqlFieldsQueryExample(ICache<int, Employee> cache)
-        {
-            var qry = cache.Query(new SqlFieldsQuery("select name, salary from Employee"));
-
-            Console.WriteLine();
-            Console.WriteLine(">>> Employee names and their salaries:");
-
-            foreach (var row in qry)
-                Console.WriteLine(">>>     [Name=" + row[0] + ", salary=" + row[1] + ']');
-        }
-
-        /// <summary>
         /// Queries employees that live in Texas using full-text query API.
         /// </summary>
         /// <param name="cache">Cache.</param>
@@ -209,80 +108,6 @@ namespace Apache.Ignite.Examples.Datagrid
         /// Populate cache with data for this example.
         /// </summary>
         /// <param name="cache">Cache.</param>
-        private static void PopulateCache(ICache<int, Organization> cache)
-        {
-            cache.Put(1, new Organization(
-                "Apache",
-                new Address("1065 East Hillsdale Blvd, Foster City, CA", 94404),
-                OrganizationType.Private,
-                DateTime.Now));
-
-            cache.Put(2, new Organization("Microsoft",
-                new Address("1096 Eddy Street, San Francisco, CA", 94109),
-                OrganizationType.Private,
-                DateTime.Now));
-        }
-
-        /// <summary>
-        /// Populate cache with data for this example.
-        /// </summary>
-        /// <param name="cache">Cache.</param>
-        private static void PopulateCache(ICache<AffinityKey, Employee> cache)
-        {
-            cache.Put(new AffinityKey(1, 1), new Employee(
-                "James Wilson",
-                12500,
-                new Address("1096 Eddy Street, San Francisco, CA", 94109),
-                new[] {"Human Resources", "Customer Service"},
-                1));
-
-            cache.Put(new AffinityKey(2, 1), new Employee(
-                "Daniel Adams",
-                11000,
-                new Address("184 Fidler Drive, San Antonio, TX", 78130),
-                new[] {"Development", "QA"},
-                1));
-
-            cache.Put(new AffinityKey(3, 1), new Employee(
-                "Cristian Moss",
-                12500,
-                new Address("667 Jerry Dove Drive, Florence, SC", 29501),
-                new[] {"Logistics"},
-                1));
-
-            cache.Put(new AffinityKey(4, 2), new Employee(
-                "Allison Mathis",
-                25300,
-                new Address("2702 Freedom Lane, San Francisco, CA", 94109),
-                new[] {"Development"},
-                2));
-
-            cache.Put(new AffinityKey(5, 2), new Employee(
-                "Breana Robbin",
-                6500,
-                new Address("3960 Sundown Lane, Austin, TX", 78130),
-                new[] {"Sales"},
-                2));
-
-            cache.Put(new AffinityKey(6, 2), new Employee(
-                "Philip Horsley",
-                19800,
-                new Address("2803 Elsie Drive, Sioux Falls, SD", 57104),
-                new[] {"Sales"},
-                2));
-
-            cache.Put(new AffinityKey(7, 2), new Employee(
-                "Brian Peters",
-                10600,
-                new Address("1407 Pearlman Avenue, Boston, MA", 12110),
-                new[] {"Development", "QA"},
-                2));
-        }
-
-        /// <summary>
-        /// Populate cache with data for this example.
-        /// </summary>
-        /// <param name="cache">Cache.</param>
         private static void PopulateCache(ICache<int, Employee> cache)
         {
             cache.Put(1, new Employee(
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-namespace Apache.Ignite.Examples.Datagrid
+namespace Apache.Ignite.Examples.Sql
 {
     using System;
     using System.Linq;
@@ -31,14 +31,13 @@ namespace Apache.Ignite.Examples.Datagrid
     /// This example populates cache with sample data and runs several LINQ queries over this data.
     /// <para />
     /// 1) Build the project Apache.Ignite.ExamplesDll (select it -> right-click -> Build).
-    ///    Apache.Ignite.ExamplesDll.dll must appear in %IGNITE_HOME%/platforms/dotnet/examples/Apache.Ignite.ExamplesDll/bin/${Platform]/${Configuration} folder.
     /// 2) Set this class as startup object (Apache.Ignite.Examples project -> right-click -> Properties ->
     ///     Application -> Startup object);
     /// 3) Start example (F5 or Ctrl+F5).
     /// <para />
     /// This example can be run with standalone Apache Ignite.NET node:
     /// 1) Run %IGNITE_HOME%/platforms/dotnet/bin/Apache.Ignite.exe:
-    /// Apache.Ignite.exe -configFileName=platforms\dotnet\examples\apache.ignite.examples\app.config -assembly=[path_to_Apache.Ignite.ExamplesDll.dll]
+    /// Apache.Ignite.exe -configFileName=platforms\dotnet\examples\apache.ignite.examples\app.config
     /// 2) Start example.
     /// </summary>
     public class LinqExample
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-namespace Apache.Ignite.Examples.Datagrid
+namespace Apache.Ignite.Examples.Sql
 {
     using System;
     using Apache.Ignite.Core;
@@ -28,17 +28,16 @@ namespace Apache.Ignite.Examples.Datagrid
     /// This example showcases DML capabilities of Ignite's SQL engine.
     /// <para />
     /// 1) Build the project Apache.Ignite.ExamplesDll (select it -> right-click -> Build).
-    ///    Apache.Ignite.ExamplesDll.dll must appear in %IGNITE_HOME%/platforms/dotnet/examples/Apache.Ignite.ExamplesDll/bin/${Platform]/${Configuration} folder.
     /// 2) Set this class as startup object (Apache.Ignite.Examples project -> right-click -> Properties ->
     ///     Application -> Startup object);
     /// 3) Start example (F5 or Ctrl+F5).
     /// <para />
     /// This example can be run with standalone Apache Ignite.NET node:
     /// 1) Run %IGNITE_HOME%/platforms/dotnet/bin/Apache.Ignite.exe:
-    /// Apache.Ignite.exe -configFileName=platforms\dotnet\examples\apache.ignite.examples\app.config -assembly=[path_to_Apache.Ignite.ExamplesDll.dll]
+    /// Apache.Ignite.exe -configFileName=platforms\dotnet\examples\apache.ignite.examples\app.config
     /// 2) Start example.
     /// </summary>
-    public class QueryDmlExample
+    public class SqlDmlExample
     {
         /// <summary>Organization cache name.</summary>
         private const string OrganizationCacheName = "dotnet_cache_query_dml_organization";
diff --git a/modules/platforms/dotnet/examples/Apache.Ignite.Examples/Sql/SqlExample.cs b/modules/platforms/dotnet/examples/Apache.Ignite.Examples/Sql/SqlExample.cs
new file mode 100644 (file)
index 0000000..7222cfb
--- /dev/null
@@ -0,0 +1,297 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+namespace Apache.Ignite.Examples.Sql
+{
+    using System;
+    using Apache.Ignite.Core;
+    using Apache.Ignite.Core.Cache;
+    using Apache.Ignite.Core.Cache.Affinity;
+    using Apache.Ignite.Core.Cache.Configuration;
+    using Apache.Ignite.Core.Cache.Query;
+    using Apache.Ignite.ExamplesDll.Binary;
+
+    /// <summary>
+    /// This example populates cache with sample data and runs SQL queries.
+    /// <para />
+    /// 1) Build the project Apache.Ignite.ExamplesDll (select it -> right-click -> Build).
+    /// 2) Set this class as startup object (Apache.Ignite.Examples project -> right-click -> Properties ->
+    ///     Application -> Startup object);
+    /// 3) Start example (F5 or Ctrl+F5).
+    /// <para />
+    /// This example can be run with standalone Apache Ignite.NET node:
+    /// 1) Run %IGNITE_HOME%/platforms/dotnet/bin/Apache.Ignite.exe:
+    /// Apache.Ignite.exe -configFileName=platforms\dotnet\examples\apache.ignite.examples\app.config
+    /// 2) Start example.
+    /// </summary>
+    public class SqlExample
+    {
+        /// <summary>Organization cache name.</summary>
+        private const string OrganizationCacheName = "dotnet_cache_query_organization";
+
+        /// <summary>Employee cache name.</summary>
+        private const string EmployeeCacheName = "dotnet_cache_query_employee";
+
+        /// <summary>Employee cache name.</summary>
+        private const string EmployeeCacheNameColocated = "dotnet_cache_query_employee_colocated";
+
+        [STAThread]
+        public static void Main()
+        {
+            using (var ignite = Ignition.StartFromApplicationConfiguration())
+            {
+                Console.WriteLine();
+                Console.WriteLine(">>> Cache query example started.");
+
+                var employeeCache = ignite.GetOrCreateCache<int, Employee>(
+                    new CacheConfiguration(EmployeeCacheName, typeof(Employee)));
+
+                var employeeCacheColocated = ignite.GetOrCreateCache<AffinityKey, Employee>(
+                    new CacheConfiguration(EmployeeCacheNameColocated, typeof(Employee)));
+
+                var organizationCache = ignite.GetOrCreateCache<int, Organization>(
+                    new CacheConfiguration(OrganizationCacheName, new QueryEntity(typeof(int), typeof(Organization))));
+
+                // Populate cache with sample data entries.
+                PopulateCache(employeeCache);
+                PopulateCache(employeeCacheColocated);
+                PopulateCache(organizationCache);
+
+                // Run SQL query example.
+                SqlQueryExample(employeeCache);
+
+                // Run SQL query with join example.
+                SqlJoinQueryExample(employeeCacheColocated);
+
+                // Run SQL query with distributed join example.
+                SqlDistributedJoinQueryExample(employeeCache);
+
+                // Run SQL fields query example.
+                SqlFieldsQueryExample(employeeCache);
+
+                Console.WriteLine();
+            }
+
+            Console.WriteLine();
+            Console.WriteLine(">>> Example finished, press any key to exit ...");
+            Console.ReadKey();
+        }
+
+        /// <summary>
+        /// Queries employees that have provided ZIP code in address.
+        /// </summary>
+        /// <param name="cache">Cache.</param>
+        private static void SqlQueryExample(ICache<int, Employee> cache)
+        {
+            const int zip = 94109;
+
+            var qry = cache.Query(new SqlQuery(typeof(Employee), "zip = ?", zip));
+
+            Console.WriteLine();
+            Console.WriteLine(">>> Employees with zipcode {0} (SQL):", zip);
+
+            foreach (var entry in qry)
+                Console.WriteLine(">>>    " + entry.Value);
+        }
+
+        /// <summary>
+        /// Queries employees that work for organization with provided name.
+        /// </summary>
+        /// <param name="cache">Cache.</param>
+        private static void SqlJoinQueryExample(ICache<AffinityKey, Employee> cache)
+        {
+            const string orgName = "Apache";
+
+            var qry = cache.Query(new SqlQuery("Employee",
+                "from Employee, \"dotnet_cache_query_organization\".Organization " +
+                "where Employee.organizationId = Organization._key and Organization.name = ?", orgName));
+
+            Console.WriteLine();
+            Console.WriteLine(">>> Employees working for " + orgName + ":");
+
+            foreach (var entry in qry)
+                Console.WriteLine(">>>     " + entry.Value);
+        }
+
+        /// <summary>
+        /// Queries employees that work for organization with provided name.
+        /// </summary>
+        /// <param name="cache">Cache.</param>
+        private static void SqlDistributedJoinQueryExample(ICache<int, Employee> cache)
+        {
+            const string orgName = "Apache";
+
+            var qry = cache.Query(new SqlQuery("Employee",
+                "from Employee, \"dotnet_cache_query_organization\".Organization " +
+                "where Employee.organizationId = Organization._key and Organization.name = ?", orgName)
+            {
+                EnableDistributedJoins = true
+            });
+
+            Console.WriteLine();
+            Console.WriteLine(">>> Employees working for " + orgName + ":");
+
+            foreach (var entry in qry)
+                Console.WriteLine(">>>     " + entry.Value);
+        }
+
+        /// <summary>
+        /// Queries names and salaries for all employees.
+        /// </summary>
+        /// <param name="cache">Cache.</param>
+        private static void SqlFieldsQueryExample(ICache<int, Employee> cache)
+        {
+            var qry = cache.Query(new SqlFieldsQuery("select name, salary from Employee"));
+
+            Console.WriteLine();
+            Console.WriteLine(">>> Employee names and their salaries:");
+
+            foreach (var row in qry)
+                Console.WriteLine(">>>     [Name=" + row[0] + ", salary=" + row[1] + ']');
+        }
+
+        /// <summary>
+        /// Populate cache with data for this example.
+        /// </summary>
+        /// <param name="cache">Cache.</param>
+        private static void PopulateCache(ICache<int, Organization> cache)
+        {
+            cache.Put(1, new Organization(
+                "Apache",
+                new Address("1065 East Hillsdale Blvd, Foster City, CA", 94404),
+                OrganizationType.Private,
+                DateTime.Now));
+
+            cache.Put(2, new Organization("Microsoft",
+                new Address("1096 Eddy Street, San Francisco, CA", 94109),
+                OrganizationType.Private,
+                DateTime.Now));
+        }
+
+        /// <summary>
+        /// Populate cache with data for this example.
+        /// </summary>
+        /// <param name="cache">Cache.</param>
+        private static void PopulateCache(ICache<AffinityKey, Employee> cache)
+        {
+            cache.Put(new AffinityKey(1, 1), new Employee(
+                "James Wilson",
+                12500,
+                new Address("1096 Eddy Street, San Francisco, CA", 94109),
+                new[] {"Human Resources", "Customer Service"},
+                1));
+
+            cache.Put(new AffinityKey(2, 1), new Employee(
+                "Daniel Adams",
+                11000,
+                new Address("184 Fidler Drive, San Antonio, TX", 78130),
+                new[] {"Development", "QA"},
+                1));
+
+            cache.Put(new AffinityKey(3, 1), new Employee(
+                "Cristian Moss",
+                12500,
+                new Address("667 Jerry Dove Drive, Florence, SC", 29501),
+                new[] {"Logistics"},
+                1));
+
+            cache.Put(new AffinityKey(4, 2), new Employee(
+                "Allison Mathis",
+                25300,
+                new Address("2702 Freedom Lane, San Francisco, CA", 94109),
+                new[] {"Development"},
+                2));
+
+            cache.Put(new AffinityKey(5, 2), new Employee(
+                "Breana Robbin",
+                6500,
+                new Address("3960 Sundown Lane, Austin, TX", 78130),
+                new[] {"Sales"},
+                2));
+
+            cache.Put(new AffinityKey(6, 2), new Employee(
+                "Philip Horsley",
+                19800,
+                new Address("2803 Elsie Drive, Sioux Falls, SD", 57104),
+                new[] {"Sales"},
+                2));
+
+            cache.Put(new AffinityKey(7, 2), new Employee(
+                "Brian Peters",
+                10600,
+                new Address("1407 Pearlman Avenue, Boston, MA", 12110),
+                new[] {"Development", "QA"},
+                2));
+        }
+
+        /// <summary>
+        /// Populate cache with data for this example.
+        /// </summary>
+        /// <param name="cache">Cache.</param>
+        private static void PopulateCache(ICache<int, Employee> cache)
+        {
+            cache.Put(1, new Employee(
+                "James Wilson",
+                12500,
+                new Address("1096 Eddy Street, San Francisco, CA", 94109),
+                new[] {"Human Resources", "Customer Service"},
+                1));
+
+            cache.Put(2, new Employee(
+                "Daniel Adams",
+                11000,
+                new Address("184 Fidler Drive, San Antonio, TX", 78130),
+                new[] {"Development", "QA"},
+                1));
+
+            cache.Put(3, new Employee(
+                "Cristian Moss",
+                12500,
+                new Address("667 Jerry Dove Drive, Florence, SC", 29501),
+                new[] {"Logistics"},
+                1));
+
+            cache.Put(4, new Employee(
+                "Allison Mathis",
+                25300,
+                new Address("2702 Freedom Lane, San Francisco, CA", 94109),
+                new[] {"Development"},
+                2));
+
+            cache.Put(5, new Employee(
+                "Breana Robbin",
+                6500,
+                new Address("3960 Sundown Lane, Austin, TX", 78130),
+                new[] {"Sales"},
+                2));
+
+            cache.Put(6, new Employee(
+                "Philip Horsley",
+                19800,
+                new Address("2803 Elsie Drive, Sioux Falls, SD", 57104),
+                new[] {"Sales"},
+                2));
+
+            cache.Put(7, new Employee(
+                "Brian Peters",
+                10600,
+                new Address("1407 Pearlman Avenue, Boston, MA", 12110),
+                new[] {"Development", "QA"},
+                2));
+        }
+    }
+}