/// <summary>
		/// Generate the source code for the data context.
		/// </summary>
		public string Generate()
		{
			var nsDef = new NamespaceDefinition()
			{
				Name = _nameSpace,

				// Add classes for each of the tables.
				Classes = _tables.Select(table => GenerateTableClass(table)).ToList()
			};
			
			nsDef.Classes.Add(GenerateDataContextClass());

			return new StringBuilder()
				.AppendLine(Using("IBM.Data.DB2"))
				.AppendLine(Using("System.Collections.Generic"))
				.AppendLine(Using("System.Data"))
				.AppendLine(nsDef.ToString())
				.ToString();
		}