List:Commits« Previous MessageNext Message »
From:Reggie Burnett Date:October 4 2010 6:08pm
Subject:bzr commit into connector-net-trunk branch (reggie.burnett:932) Bug#56589
View as plain text  
#At file:///C:/work/connector-net/trunk/ based on revid:reggie.burnett@stripped

  932 Reggie Burnett	2010-10-04
      - fixed database methods in EF4 provider services to use the database name from the connection string (bug #56589)

    added:
      MySql.Data.Entity/Tests/Model1.Designer.cs
      MySql.Data.Entity/Tests/Model1.edmx
    modified:
      CHANGES
      MySQLClient-VS2010.sln
      MySql.Data.Entity/Provider/EF4ProviderServices.cs
      MySql.Data.Entity/Provider/Properties/Resources.Designer.cs
      MySql.Data.Entity/Provider/Properties/Resources.resx
      MySql.Data.Entity/Tests/App.Config
      MySql.Data.Entity/Tests/BaseEdmTest.cs
      MySql.Data.Entity/Tests/ModelFirst.cs
      MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj
      MySql.Data.Entity/Tests/TestModel.Designer.cs
      MySql.Data.Entity/Tests/TestModel.edmx
=== modified file 'CHANGES'
=== modified file 'CHANGES'
--- a/CHANGES	2010-09-17 16:25:02 +0000
+++ b/CHANGES	2010-10-04 18:08:24 +0000
@@ -1,5 +1,6 @@
 - Fix installer bug related to .NET FW 4.0 (bug #56580)
 - Added MySqlHelper.ExecuteReader that takes an external connection and array of paramters (bug #56755)
+- fixed database methods in EF4 provider services to use the database name from the connection string (bug #56589)
 
 Version 6.3.4
 - Fix authorization popup after modifying stored procedure in VS (Bug #44715)

=== modified file 'MySQLClient-VS2010.sln'
--- a/MySQLClient-VS2010.sln	2010-09-01 17:50:11 +0000
+++ b/MySQLClient-VS2010.sln	2010-10-04 18:08:24 +0000
@@ -44,6 +44,7 @@
 		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|x64.ActiveCfg = Release|Any CPU
 		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Commercial|x86.ActiveCfg = Release|Any CPU
 		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{C28B1166-1380-445D-AEC1-8A18B990DD18}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -67,6 +68,7 @@
 		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|x64.ActiveCfg = Release|Any CPU
 		{DC704374-EC50-4167-93AA-8D262136502E}.Commercial|x86.ActiveCfg = Release|Any CPU
 		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{DC704374-EC50-4167-93AA-8D262136502E}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -114,6 +116,7 @@
 		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|x64.ActiveCfg = Release|Any CPU
 		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Commercial|x86.ActiveCfg = Release|Any CPU
 		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{F29E5B3D-7F76-4CF9-BF5E-8E3A1377B1E4}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -137,6 +140,7 @@
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|x64.ActiveCfg = Release|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Commercial|x86.ActiveCfg = Release|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -210,6 +214,7 @@
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Commercial|x64.ActiveCfg = Release|Any CPU
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Commercial|x86.ActiveCfg = Release|Any CPU
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 		{77EC4E20-293A-48BA-8415-D0AD869D91FA}.Debug|x64.ActiveCfg = Debug|Any CPU

=== modified file 'MySql.Data.Entity/Provider/EF4ProviderServices.cs'
--- a/MySql.Data.Entity/Provider/EF4ProviderServices.cs	2010-08-18 19:52:04 +0000
+++ b/MySql.Data.Entity/Provider/EF4ProviderServices.cs	2010-10-04 18:08:24 +0000
@@ -31,6 +31,7 @@
 using System.Diagnostics;
 using MySql.Data.Entity.Properties;
 using System.Text;
+using System.Linq;
 
 namespace MySql.Data.MySqlClient
 {
@@ -38,118 +39,103 @@
     {
         protected override void DbCreateDatabase(DbConnection connection, int? commandTimeout, StoreItemCollection storeItemCollection)
         {
+            if (connection == null)
+                throw new ArgumentNullException("connection");
+            MySqlConnection conn = connection as MySqlConnection;
+            if (conn == null)
+                throw new ArgumentException(Resources.ConnectionMustBeOfTypeMySqlConnection, "connection");
+
             string query = DbCreateDatabaseScript(null, storeItemCollection);
+
             using (MySqlConnection c = new MySqlConnection())
             {
-                string connStr = connection.ConnectionString;
-                MySqlConnectionStringBuilder sb = new MySqlConnectionStringBuilder(connStr);
+                MySqlConnectionStringBuilder sb = new MySqlConnectionStringBuilder(conn.ConnectionString);
+                string dbName = sb.Database;
                 sb.Database = "mysql";
                 c.ConnectionString = sb.ConnectionString;
                 c.Open();
 
-                MySqlScript s = new MySqlScript(c, query);
+                string fullQuery = String.Format("CREATE DATABASE `{0}`; USE `{0}`; {1}", dbName, query);
+                MySqlScript s = new MySqlScript(c, fullQuery);
                 s.Execute();
             }
         }
 
         protected override bool DbDatabaseExists(DbConnection connection, int? commandTimeout, StoreItemCollection storeItemCollection)
         {
-            bool shouldClose = false;
-
-            foreach (object o in storeItemCollection)
+            if (connection == null)
+                throw new ArgumentNullException("connection");
+            MySqlConnection conn = connection as MySqlConnection;
+            if (conn == null)
+                throw new ArgumentException(Resources.ConnectionMustBeOfTypeMySqlConnection, "connection");
+
+            MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
+            builder.ConnectionString = conn.ConnectionString;
+            string dbName = builder.Database;
+            builder.Database = "mysql";
+
+            using (MySqlConnection c = new MySqlConnection(builder.ConnectionString))
             {
-                if (o is EntityContainer)
-                {
-                    EntityContainer ec = o as EntityContainer;
-
-                    try
-                    {
-                        if (connection.State != ConnectionState.Open)
-                        {
-                            connection.Open();
-                            shouldClose = true;
-                        }
-                        connection.ChangeDatabase(ec.Name);
-                        return true;
-                    }
-                    catch (MySqlException)
-                    {
-                        return false;
-                    }
-                    finally
-                    {
-                        if (shouldClose)
-                            connection.Close();
-                    }
-                }
+                c.Open();
+                DataTable table = c.GetSchema("Databases", new string[] { dbName });
+                if (table != null && table.Rows.Count == 1) return true;
+                return false;
             }
-            return false;
         }
 
         protected override void DbDeleteDatabase(DbConnection connection, int? commandTimeout, StoreItemCollection storeItemCollection)
         {
-            bool shouldClose = false;
-
-            foreach (object o in storeItemCollection)
+            if (connection == null)
+                throw new ArgumentNullException("connection");
+            MySqlConnection conn = connection as MySqlConnection;
+            if (conn == null)
+                throw new ArgumentException(Resources.ConnectionMustBeOfTypeMySqlConnection, "connection");
+
+            MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder();
+            builder.ConnectionString = conn.ConnectionString;
+            string dbName = builder.Database;
+            builder.Database = "mysql";
+
+            using (MySqlConnection c = new MySqlConnection(builder.ConnectionString))
             {
-                if (o is EntityContainer)
-                {
-                    EntityContainer ec = o as EntityContainer;
-                    DbCommand cmd = connection.CreateCommand();
-                    if (commandTimeout.HasValue)
-                        cmd.CommandTimeout = commandTimeout.Value;
-                    cmd.CommandText = String.Format("DROP DATABASE IF EXISTS `{0}`", ec.Name);
-                    if (connection.State != ConnectionState.Open)
-                    {
-                        connection.Open();
-                        shouldClose = true;
-                    }
-                    try
-                    {
-                        cmd.ExecuteNonQuery();
-                    }
-                    finally
-                    {
-                        if (shouldClose)
-                            connection.Close();
-                    }
-                }
+                c.Open();
+                MySqlCommand cmd = new MySqlCommand(String.Format("DROP DATABASE IF EXISTS `{0}`", dbName), c);
+                if (commandTimeout.HasValue)
+                    cmd.CommandTimeout = commandTimeout.Value;
+                cmd.ExecuteNonQuery();
             }
         }
 
-        protected override string DbCreateDatabaseScript(string providerManifestToken, StoreItemCollection storeItemCollection)
+        protected override string DbCreateDatabaseScript(string providerManifestToken, 
+            StoreItemCollection storeItemCollection)
         {
             StringBuilder sql = new StringBuilder();
 
             sql.AppendLine("-- MySql script");
             sql.AppendLine("-- Created on " + DateTime.Now);
-            foreach (object o in storeItemCollection)
+
+            foreach (EntityContainer container in storeItemCollection.GetItems<EntityContainer>())
             {
-                if (o is EntityContainer)
-                {
-                    EntityContainer ec = (o as EntityContainer);
-                    sql.AppendLine(String.Format("DROP DATABASE IF EXISTS `{0}`;", ec.Name));
-                    sql.AppendLine(String.Format("CREATE DATABASE `{0}`;", ec.Name));
-                    sql.AppendLine(String.Format("USE `{0}`;", ec.Name));
-                    sql.AppendLine();
-                }
-                else if (o is EntityType)
-                {
-                    EntityType e = o as EntityType;
-                    sql.Append(GetTableCreateScript(e));
-                }
-                else if (o is AssociationType)
-                {
-                    AssociationType a = o as AssociationType;
-                    sql.Append(GetAssociationCreateScript(a));
+                // now output the tables
+                foreach (EntitySet es in container.BaseEntitySets.OfType<EntitySet>())
+                {
+                    sql.Append(GetTableCreateScript(es));
+                }
+
+                // now output the foreign keys
+                foreach (AssociationSet a in container.BaseEntitySets.OfType<AssociationSet>())
+                {
+                    sql.Append(GetAssociationCreateScript(a.ElementType));
                 }
             }
 
             return sql.ToString();
         }
 
-        private string GetTableCreateScript(EntityType e)
+        private string GetTableCreateScript(EntitySet entitySet)
         {
+            EntityType e = entitySet.ElementType;
+
             StringBuilder sql = new StringBuilder("CREATE TABLE ");
             sql.AppendFormat("`{0}`(", e.Name);
             string delimiter = "";

=== modified file 'MySql.Data.Entity/Provider/Properties/Resources.Designer.cs'
--- a/MySql.Data.Entity/Provider/Properties/Resources.Designer.cs	2010-04-09 19:37:47 +0000
+++ b/MySql.Data.Entity/Provider/Properties/Resources.Designer.cs	2010-10-04 18:08:24 +0000
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.4927
+//     Runtime Version:4.0.30319.1
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
 //     the code is regenerated.
@@ -19,7 +19,7 @@
     // class via a tool like ResGen or Visual Studio.
     // To add or remove a member, edit your .ResX file then rerun ResGen
     // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
     [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
     [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
     internal class Resources {
@@ -61,6 +61,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to The connection parameter must reference an object of type MySql.Data.MySqlConnection.
+        /// </summary>
+        internal static string ConnectionMustBeOfTypeMySqlConnection {
+            get {
+                return ResourceManager.GetString("ConnectionMustBeOfTypeMySqlConnection", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to There is no store type corresponding to the EDM type &apos;{0}&apos; of primitive type &apos;{1}&apos;..
         /// </summary>
         internal static string NoStoreTypeForEdmType {

=== modified file 'MySql.Data.Entity/Provider/Properties/Resources.resx'
--- a/MySql.Data.Entity/Provider/Properties/Resources.resx	2010-04-09 19:24:10 +0000
+++ b/MySql.Data.Entity/Provider/Properties/Resources.resx	2010-10-04 18:08:24 +0000
@@ -117,6 +117,9 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <data name="ConnectionMustBeOfTypeMySqlConnection" xml:space="preserve">
+    <value>The connection parameter must reference an object of type MySql.Data.MySqlConnection</value>
+  </data>
   <data name="NoStoreTypeForEdmType" xml:space="preserve">
     <value>There is no store type corresponding to the EDM type '{0}' of primitive type '{1}'.</value>
   </data>

=== modified file 'MySql.Data.Entity/Tests/App.Config'
--- a/MySql.Data.Entity/Tests/App.Config	2010-02-11 21:55:20 +0000
+++ b/MySql.Data.Entity/Tests/App.Config	2010-10-04 18:08:24 +0000
@@ -9,5 +9,6 @@
 
   <connectionStrings>
     <add name="testEntities" connectionString="metadata=res://*/TestModel.csdl|res://*/TestModel.ssdl|res://*/TestModel.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;Data Source=localhost;database=test;uid=root;pooling=false&quot;" providerName="System.Data.EntityClient" />
+    <add name="Model1Container" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=MySql.Data.MySqlClient;provider connection string=&quot;Data Source=localhost;database=modeldb;uid=root;pooling=false&quot;" providerName="System.Data.EntityClient" />
   </connectionStrings>
 </configuration>
\ No newline at end of file

=== modified file 'MySql.Data.Entity/Tests/BaseEdmTest.cs'
--- a/MySql.Data.Entity/Tests/BaseEdmTest.cs	2010-08-18 19:48:34 +0000
+++ b/MySql.Data.Entity/Tests/BaseEdmTest.cs	2010-10-04 18:08:24 +0000
@@ -92,6 +92,18 @@
             script.Delimiter = "$$";
             script.Query = schema;
             script.Execute();
+
+            MySqlCommand cmd = new MySqlCommand("DROP DATABASE IF EXISTS `modeldb`", rootConn);
+            cmd.ExecuteNonQuery();
+        }
+
+        [TearDown]
+        public override void Teardown()
+        {
+            base.Teardown();
+
+            MySqlCommand cmd = new MySqlCommand("DROP DATABASE IF EXISTS `modeldb`", rootConn);
+            cmd.ExecuteNonQuery();
         }
     }
 }

=== added file 'MySql.Data.Entity/Tests/Model1.Designer.cs'
--- a/MySql.Data.Entity/Tests/Model1.Designer.cs	1970-01-01 00:00:00 +0000
+++ b/MySql.Data.Entity/Tests/Model1.Designer.cs	2010-10-04 18:08:24 +0000
@@ -0,0 +1,291 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//    This code was generated from a template.
+//
+//    Manual changes to this file may cause unexpected behavior in your application.
+//    Manual changes to this file will be overwritten if the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+using System;
+using System.Data.Objects;
+using System.Data.Objects.DataClasses;
+using System.Data.EntityClient;
+using System.ComponentModel;
+using System.Xml.Serialization;
+using System.Runtime.Serialization;
+
+[assembly: EdmSchemaAttribute()]
+
+namespace MySql.Data.Entity.Tests
+{
+    #region Contexts
+    
+    /// <summary>
+    /// No Metadata Documentation available.
+    /// </summary>
+    public partial class Model1Container : ObjectContext
+    {
+        #region Constructors
+    
+        /// <summary>
+        /// Initializes a new Model1Container object using the connection string found in the 'Model1Container' section of the application configuration file.
+        /// </summary>
+        public Model1Container() : base("name=Model1Container", "Model1Container")
+        {
+            this.ContextOptions.LazyLoadingEnabled = true;
+            OnContextCreated();
+        }
+    
+        /// <summary>
+        /// Initialize a new Model1Container object.
+        /// </summary>
+        public Model1Container(string connectionString) : base(connectionString, "Model1Container")
+        {
+            this.ContextOptions.LazyLoadingEnabled = true;
+            OnContextCreated();
+        }
+    
+        /// <summary>
+        /// Initialize a new Model1Container object.
+        /// </summary>
+        public Model1Container(EntityConnection connection) : base(connection, "Model1Container")
+        {
+            this.ContextOptions.LazyLoadingEnabled = true;
+            OnContextCreated();
+        }
+    
+        #endregion
+    
+        #region Partial Methods
+    
+        partial void OnContextCreated();
+    
+        #endregion
+    
+        #region ObjectSet Properties
+    
+        /// <summary>
+        /// No Metadata Documentation available.
+        /// </summary>
+        public ObjectSet<Animal> Animals
+        {
+            get
+            {
+                if ((_Animals == null))
+                {
+                    _Animals = base.CreateObjectSet<Animal>("Animals");
+                }
+                return _Animals;
+            }
+        }
+        private ObjectSet<Animal> _Animals;
+    
+        /// <summary>
+        /// No Metadata Documentation available.
+        /// </summary>
+        public ObjectSet<Shelter> Shelters
+        {
+            get
+            {
+                if ((_Shelters == null))
+                {
+                    _Shelters = base.CreateObjectSet<Shelter>("Shelters");
+                }
+                return _Shelters;
+            }
+        }
+        private ObjectSet<Shelter> _Shelters;
+
+        #endregion
+        #region AddTo Methods
+    
+        /// <summary>
+        /// Deprecated Method for adding a new object to the Animals EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
+        /// </summary>
+        public void AddToAnimals(Animal animal)

+        {
+            base.AddObject("Animals", animal);
+        }
+    
+        /// <summary>
+        /// Deprecated Method for adding a new object to the Shelters EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
+        /// </summary>
+        public void AddToShelters(Shelter shelter)
+        {
+            base.AddObject("Shelters", shelter);
+        }
+
+        #endregion
+    }
+    
+
+    #endregion
+    
+    #region Entities
+    
+    /// <summary>
+    /// No Metadata Documentation available.
+    /// </summary>
+    [EdmEntityTypeAttribute(NamespaceName="Model1", Name="Animal")]
+    [Serializable()]
+    [DataContractAttribute(IsReference=true)]
+    public partial class Animal : EntityObject
+    {
+        #region Factory Method
+    
+        /// <summary>
+        /// Create a new Animal object.
+        /// </summary>
+        /// <param name="id">Initial value of the Id property.</param>
+        /// <param name="name">Initial value of the Name property.</param>
+        /// <param name="shelterId">Initial value of the ShelterId property.</param>
+        public static Animal CreateAnimal(global::System.Int32 id, global::System.String name, global::System.Int32 shelterId)
+        {
+            Animal animal = new Animal();
+            animal.Id = id;
+            animal.Name = name;
+            animal.ShelterId = shelterId;
+            return animal;
+        }
+
+        #endregion
+        #region Primitive Properties
+    
+        /// <summary>
+        /// No Metadata Documentation available.
+        /// </summary>
+        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
+        [DataMemberAttribute()]
+        public global::System.Int32 Id
+        {
+            get
+            {
+                return _Id;
+            }
+            set
+            {
+                if (_Id != value)
+                {
+                    OnIdChanging(value);
+                    ReportPropertyChanging("Id");
+                    _Id = StructuralObject.SetValidValue(value);
+                    ReportPropertyChanged("Id");
+                    OnIdChanged();
+                }
+            }
+        }
+        private global::System.Int32 _Id;
+        partial void OnIdChanging(global::System.Int32 value);
+        partial void OnIdChanged();
+    
+        /// <summary>
+        /// No Metadata Documentation available.
+        /// </summary>
+        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
+        [DataMemberAttribute()]
+        public global::System.String Name
+        {
+            get
+            {
+                return _Name;
+            }
+            set
+            {
+                OnNameChanging(value);
+                ReportPropertyChanging("Name");
+                _Name = StructuralObject.SetValidValue(value, false);
+                ReportPropertyChanged("Name");
+                OnNameChanged();
+            }
+        }
+        private global::System.String _Name;
+        partial void OnNameChanging(global::System.String value);
+        partial void OnNameChanged();
+    
+        /// <summary>
+        /// No Metadata Documentation available.
+        /// </summary>
+        [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)]
+        [DataMemberAttribute()]
+        public global::System.Int32 ShelterId
+        {
+            get
+            {
+                return _ShelterId;
+            }
+            set
+            {
+                OnShelterIdChanging(value);
+                ReportPropertyChanging("ShelterId");
+                _ShelterId = StructuralObject.SetValidValue(value);
+                ReportPropertyChanged("ShelterId");
+                OnShelterIdChanged();
+            }
+        }
+        private global::System.Int32 _ShelterId;
+        partial void OnShelterIdChanging(global::System.Int32 value);
+        partial void OnShelterIdChanged();
+
+        #endregion
+    
+    }
+    
+    /// <summary>
+    /// No Metadata Documentation available.
+    /// </summary>
+    [EdmEntityTypeAttribute(NamespaceName="Model1", Name="Shelter")]
+    [Serializable()]
+    [DataContractAttribute(IsReference=true)]
+    public partial class Shelter : EntityObject
+    {
+        #region Factory Method
+    
+        /// <summary>
+        /// Create a new Shelter object.
+        /// </summary>
+        /// <param name="id">Initial value of the Id property.</param>
+        public static Shelter CreateShelter(global::System.Int32 id)
+        {
+            Shelter shelter = new Shelter();
+            shelter.Id = id;
+            return shelter;
+        }
+
+        #endregion
+        #region Primitive Properties
+    
+        /// <summary>
+        /// No Metadata Documentation available.
+        /// </summary>
+        [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
+        [DataMemberAttribute()]
+        public global::System.Int32 Id
+        {
+            get
+            {
+                return _Id;
+            }
+            set
+            {
+                if (_Id != value)
+                {
+                    OnIdChanging(value);
+                    ReportPropertyChanging("Id");
+                    _Id = StructuralObject.SetValidValue(value);
+                    ReportPropertyChanged("Id");
+                    OnIdChanged();
+                }
+            }
+        }
+        private global::System.Int32 _Id;
+        partial void OnIdChanging(global::System.Int32 value);
+        partial void OnIdChanged();
+
+        #endregion
+    
+    }
+
+    #endregion
+    
+}

=== added file 'MySql.Data.Entity/Tests/Model1.edmx'
--- a/MySql.Data.Entity/Tests/Model1.edmx	1970-01-01 00:00:00 +0000
+++ b/MySql.Data.Entity/Tests/Model1.edmx	2010-10-04 18:08:24 +0000
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx">
+  <!-- EF Runtime content -->
+  <edmx:Runtime>
+    <!-- SSDL content -->
+    <edmx:StorageModels>
+      <Schema xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl" Namespace="Model1.Store" Alias="Self" Provider="MySql.Data.MySqlClient" ProviderManifestToken="5">
+        <EntityContainer Name="Model1TargetContainer" >
+          <EntitySet Name="Animals" EntityType="Model1.Store.TheAnimals" Schema="modeldb" />
+          <EntitySet Name="Facilities" EntityType="Model1.Store.Facility" Schema="modeldb" />
+        </EntityContainer>
+        <EntityType Name="TheAnimals">
+          <Key>
+            <PropertyRef Name="Id" />
+          </Key>
+          <Property Name="Id" Type="int" Nullable="false"/>
+          <Property Name="Name" Type="varchar" MaxLength="20" Nullable="false"/>
+          <Property Name="ShelterId" Type="int" Nullable="false"/>
+        </EntityType>
+        <EntityType Name="Facility">
+          <Key>
+            <PropertyRef Name="Id"/>
+          </Key>
+          <Property Name="Id" Type="int" Nullable="false"/>
+        </EntityType>
+      </Schema>
+    </edmx:StorageModels>
+    <!-- CSDL content -->
+    <edmx:ConceptualModels>
+      <Schema xmlns="http://schemas.microsoft.com/ado/2008/09/edm" xmlns:cg="http://schemas.microsoft.com/ado/2006/04/codegeneration" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" Namespace="Model1" Alias="Self" xmlns:annotation="http://schemas.microsoft.com/ado/2009/02/edm/annotation">
+        <EntityContainer Name="Model1Container" annotation:LazyLoadingEnabled="true">
+          <EntitySet Name="Animals" EntityType="Model1.Animal" />
+          <EntitySet Name="Shelters" EntityType="Model1.Shelter" />
+        </EntityContainer>
+        <EntityType Name="Animal">
+          <Key>
+            <PropertyRef Name="Id" />
+          </Key>
+          <Property Type="Int32" Name="Id" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+          <Property Type="String" Name="Name" Nullable="false" />
+          <Property Type="Int32" Name="ShelterId" Nullable="false" />
+        </EntityType>
+        <EntityType Name="Shelter">
+          <Key>
+            <PropertyRef Name="Id" />
+          </Key>
+          <Property Type="Int32" Name="Id" Nullable="false" annotation:StoreGeneratedPattern="Identity" />
+        </EntityType>
+      </Schema>
+    </edmx:ConceptualModels>
+    <!-- C-S mapping content -->
+    <edmx:Mappings>
+      <Mapping xmlns="http://schemas.microsoft.com/ado/2008/09/mapping/cs" Space="C-S">
+        <Alias Key="Model" Value="Model1" />
+        <Alias Key="Target" Value="Model1.Store" />
+        <EntityContainerMapping CdmEntityContainer="Model1Container" StorageEntityContainer="Model1TargetContainer">
+          <EntitySetMapping Name="Animals">
+            <EntityTypeMapping TypeName="Model1.Animal">
+              <MappingFragment StoreEntitySet="Animals">
+                <ScalarProperty Name="Id" ColumnName="Id" />
+                <ScalarProperty Name="Name" ColumnName="Name"/>
+              </MappingFragment>
+            </EntityTypeMapping>
+          </EntitySetMapping>
+        </EntityContainerMapping>
+      </Mapping>
+    </edmx:Mappings>
+  </edmx:Runtime>
+  <!-- EF Designer content (DO NOT EDIT MANUALLY BELOW HERE) -->
+  <edmx:Designer xmlns="http://schemas.microsoft.com/ado/2008/10/edmx">
+    <edmx:Connection>
+      <DesignerInfoPropertySet>
+        <DesignerProperty Name="MetadataArtifactProcessing" Value="EmbedInOutputAssembly" />
+      </DesignerInfoPropertySet>
+    </edmx:Connection>
+    <edmx:Options>
+      <DesignerInfoPropertySet>
+        <DesignerProperty Name="ValidateOnBuild" Value="true" />
+        <DesignerProperty Name="EnablePluralization" Value="True" />
+      </DesignerInfoPropertySet>
+    </edmx:Options>
+    <!-- Diagram content (shape and connector positions) -->
+    <edmx:Diagrams>
+      <Diagram Name="Model1" >
+        <EntityTypeShape EntityType="Model1.Animal" Width="1.5" PointX="2.375" PointY="1.125" Height="1.4033821614583331" />
+        <EntityTypeShape EntityType="Model1.Shelter" Width="1.5" PointX="4.875" PointY="1.25" Height="1.211080729166667" />
+      </Diagram>
+    </edmx:Diagrams>
+  </edmx:Designer>
+</edmx:Edmx>

=== modified file 'MySql.Data.Entity/Tests/ModelFirst.cs'
--- a/MySql.Data.Entity/Tests/ModelFirst.cs	2010-08-18 19:52:04 +0000
+++ b/MySql.Data.Entity/Tests/ModelFirst.cs	2010-10-04 18:08:24 +0000
@@ -35,17 +35,12 @@
 	[TestFixture]
 	public class ModelFirst : BaseEdmTest
 	{
-        public ModelFirst()
-            : base()
-        {
-        }
-
         [Test]
         public void CreateDatabase()
         {
-            using (testEntities ctx = new testEntities())
+            using (Model1Container ctx = new Model1Container())
             {
-                ctx.DeleteDatabase();
+                Assert.IsFalse(ctx.DatabaseExists());
                 ctx.CreateDatabase();
                 Assert.IsTrue(ctx.DatabaseExists());
             }
@@ -63,26 +58,23 @@
         [Test]
         public void DeleteDatabase()
         {
-            using (testEntities ctx = new testEntities())
+            using (Model1Container ctx = new Model1Container())
             {
+                Assert.IsFalse(ctx.DatabaseExists());
+                ctx.CreateDatabase();
+                Assert.IsTrue(ctx.DatabaseExists());
                 ctx.DeleteDatabase();
-            }
-
-            using (MySqlConnection c = new MySqlConnection("database=mysql;uid=root;pooling=false"))
-            {
-                c.Open();
-                MySqlDataAdapter da =new MySqlDataAdapter("SHOW DATABASES LIKE 'test'", c);
-                DataTable dt =new DataTable();
-                da.Fill(dt);
-                Assert.AreEqual(0, dt.Rows.Count);
+                Assert.IsFalse(ctx.DatabaseExists());
             }
         }
 
         [Test]
         public void DatabaseExists()
         {
-            using (testEntities ctx = new testEntities())
+            using (Model1Container ctx = new Model1Container())
             {
+                Assert.IsFalse(ctx.DatabaseExists());
+                ctx.CreateDatabase();
                 Assert.IsTrue(ctx.DatabaseExists());
                 ctx.DeleteDatabase();
                 Assert.IsFalse(ctx.DatabaseExists());

=== modified file 'MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj'
--- a/MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj	2010-07-20 19:53:09 +0000
+++ b/MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.VS2010.csproj	2010-10-04 18:08:24 +0000
@@ -84,7 +84,13 @@
     <Compile Include="BaseEdmTest.cs" />
     <Compile Include="AggregateOperators.cs" />
     <Compile Include="CanonicalFunctions.cs" />
+    <Compile Include="ModelFirst.cs" />
     <Compile Include="DataTypeTests.cs" />
+    <Compile Include="Model1.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Model1.edmx</DependentUpon>
+    </Compile>
     <Compile Include="ProceduresAndFunctions.cs" />
     <Compile Include="JoinTests.cs" />
     <Compile Include="SchemaInformation.cs" />
@@ -125,6 +131,10 @@
     <EmbeddedResource Include="Properties\Resources.resx">
       <SubType>Designer</SubType>
     </EmbeddedResource>
+    <EntityDeploy Include="Model1.edmx">
+      <Generator>EntityModelCodeGenerator</Generator>
+      <LastGenOutput>Model1.Designer.cs</LastGenOutput>
+    </EntityDeploy>
   </ItemGroup>
   <ItemGroup>
     <WCFMetadata Include="Service References" />

=== modified file 'MySql.Data.Entity/Tests/TestModel.Designer.cs'
--- a/MySql.Data.Entity/Tests/TestModel.Designer.cs	2010-09-01 17:50:11 +0000
+++ b/MySql.Data.Entity/Tests/TestModel.Designer.cs	2010-10-04 18:08:24 +0000
@@ -1,7 +1,7 @@
 //------------------------------------------------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:2.0.50727.4952
+//     Runtime Version:4.0.30319.1
 //
 //     Changes to this file may cause incorrect behavior and will be lost if
 //     the code is regenerated.
@@ -15,7 +15,7 @@
 [assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("testModel", "FK_Books_Publishers", "Publishers", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(MySql.Data.Entity.Tests.Publisher), "Books", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(MySql.Data.Entity.Tests.Book))]
 
 // Original file name:
-// Generation date: 8/31/2010 5:13:28 PM
+// Generation date: 10/4/2010 12:55:49 PM
 namespace MySql.Data.Entity.Tests
 {
     
@@ -52,6 +52,7 @@
         /// <summary>
         /// There are no comments for Employees in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Employee> Employees
         {
             get
@@ -63,10 +64,12 @@
                 return this._Employees;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Employee> _Employees;
         /// <summary>
         /// There are no comments for Children in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Child> Children
         {
             get
@@ -78,10 +81,12 @@
                 return this._Children;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Child> _Children;
         /// <summary>
         /// There are no comments for Companies in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Company> Companies
         {
             get
@@ -93,10 +98,12 @@
                 return this._Companies;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Company> _Companies;
         /// <summary>
         /// There are no comments for Toys in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Toy> Toys
         {
             get
@@ -108,10 +115,12 @@
                 return this._Toys;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Toy> _Toys;
         /// <summary>
         /// There are no comments for Stores in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Store> Stores
         {
             get
@@ -123,10 +132,12 @@
                 return this._Stores;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Store> _Stores;
         /// <summary>
         /// There are no comments for Orders in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Order> Orders
         {
             get
@@ -138,10 +149,12 @@
                 return this._Orders;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Order> _Orders;
         /// <summary>
         /// There are no comments for Books in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Book> Books
         {
             get
@@ -153,10 +166,12 @@
                 return this._Books;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Book> _Books;
         /// <summary>
         /// There are no comments for Authors in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Author> Authors
         {
             get
@@ -168,10 +183,12 @@
                 return this._Authors;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Author> _Authors;
         /// <summary>
         /// There are no comments for Publishers in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<Publisher> Publishers
         {
             get
@@ -183,10 +200,12 @@
                 return this._Publishers;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<Publisher> _Publishers;
         /// <summary>
         /// There are no comments for DataTypeTests in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Data.Objects.ObjectQuery<DataTypeTest> DataTypeTests
         {
             get
@@ -198,10 +217,12 @@
                 return this._DataTypeTests;
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Data.Objects.ObjectQuery<DataTypeTest> _DataTypeTests;
         /// <summary>
         /// There are no comments for Employees in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToEmployees(Employee employee)
         {
             base.AddObject("Employees", employee);
@@ -209,6 +230,7 @@
         /// <summary>
         /// There are no comments for Children in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToChildren(Child child)
         {
             base.AddObject("Children", child);
@@ -216,6 +238,7 @@
         /// <summary>
         /// There are no comments for Companies in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToCompanies(Company company)
         {
             base.AddObject("Companies", company);
@@ -223,6 +246,7 @@
         /// <summary>
         /// There are no comments for Toys in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToToys(Toy toy)
         {
             base.AddObject("Toys", toy);
@@ -230,6 +254,7 @@
         /// <summary>
         /// There are no comments for Stores in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToStores(Store store)
         {
             base.AddObject("Stores", store);
@@ -237,6 +262,7 @@
         /// <summary>
         /// There are no comments for Orders in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToOrders(Order order)
         {
             base.AddObject("Orders", order);
@@ -244,6 +270,7 @@
         /// <summary>
         /// There are no comments for Books in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToBooks(Book book)
         {
             base.AddObject("Books", book);
@@ -251,6 +278,7 @@
         /// <summary>
         /// There are no comments for Authors in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToAuthors(Author author)
         {
             base.AddObject("Authors", author);
@@ -258,6 +286,7 @@
         /// <summary>
         /// There are no comments for Publishers in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToPublishers(Publisher publisher)
         {
             base.AddObject("Publishers", publisher);
@@ -265,6 +294,7 @@
         /// <summary>
         /// There are no comments for DataTypeTests in the schema.
         /// </summary>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public void AddToDataTypeTests(DataTypeTest dataTypeTest)
         {
             base.AddObject("DataTypeTests", dataTypeTest);
@@ -288,6 +318,7 @@
         /// <param name="id">Initial value of Id.</param>
         /// <param name="lastName">Initial value of LastName.</param>
         /// <param name="firstName">Initial value of FirstName.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Employee CreateEmployee(int id, string lastName, string firstName)
         {
             Employee employee = new Employee();
@@ -297,10 +328,11 @@
             return employee;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Id
         {
             get
@@ -316,14 +348,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property LastName in the schema.
+        /// There are no comments for property LastName in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string LastName
         {
             get
@@ -339,14 +375,18 @@
                 this.OnLastNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _LastName;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnLastNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnLastNameChanged();
         /// <summary>
-        /// There are no comments for Property FirstName in the schema.
+        /// There are no comments for property FirstName in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string FirstName
         {
             get
@@ -362,14 +402,18 @@
                 this.OnFirstNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _FirstName;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnFirstNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnFirstNameChanged();
         /// <summary>
-        /// There are no comments for Property Age in the schema.
+        /// There are no comments for property Age in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Nullable<int> Age
         {
             get
@@ -385,8 +429,11 @@
                 this.OnAgeChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Nullable<int> _Age;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAgeChanging(global::System.Nullable<int> value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAgeChanged();
     }
     /// <summary>
@@ -407,6 +454,7 @@
         /// <param name="lastName">Initial value of LastName.</param>
         /// <param name="firstName">Initial value of FirstName.</param>
         /// <param name="salary">Initial value of Salary.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static SalariedEmployee CreateSalariedEmployee(int id, string lastName, string firstName, int salary)
         {
             SalariedEmployee salariedEmployee = new SalariedEmployee();
@@ -417,10 +465,11 @@
             return salariedEmployee;
         }
         /// <summary>
-        /// There are no comments for Property Salary in the schema.
+        /// There are no comments for property Salary in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Salary
         {
             get
@@ -436,8 +485,11 @@
                 this.OnSalaryChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Salary;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnSalaryChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnSalaryChanged();
     }
     /// <summary>
@@ -459,6 +511,7 @@
         /// <param name="lastName">Initial value of LastName.</param>
         /// <param name="firstName">Initial value of FirstName.</param>
         /// <param name="modified">Initial value of Modified.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Child CreateChild(long id, int employeeID, string lastName, string firstName, global::System.DateTimeOffset modified)
         {
             Child child = new Child();
@@ -470,10 +523,11 @@
             return child;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public long Id
         {
             get
@@ -489,14 +543,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private long _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(long value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property EmployeeID in the schema.
+        /// There are no comments for property EmployeeID in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int EmployeeID
         {
             get
@@ -512,14 +570,18 @@
                 this.OnEmployeeIDChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _EmployeeID;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnEmployeeIDChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnEmployeeIDChanged();
         /// <summary>
-        /// There are no comments for Property LastName in the schema.
+        /// There are no comments for property LastName in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string LastName
         {
             get
@@ -535,14 +597,18 @@
                 this.OnLastNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _LastName;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnLastNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnLastNameChanged();
         /// <summary>
-        /// There are no comments for Property FirstName in the schema.
+        /// There are no comments for property FirstName in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string FirstName
         {
             get
@@ -558,14 +624,18 @@
                 this.OnFirstNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _FirstName;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnFirstNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnFirstNameChanged();
         /// <summary>
-        /// There are no comments for Property BirthTime in the schema.
+        /// There are no comments for property BirthTime in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Nullable<global::System.TimeSpan> BirthTime
         {
             get
@@ -581,14 +651,18 @@
                 this.OnBirthTimeChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Nullable<global::System.TimeSpan> _BirthTime;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnBirthTimeChanging(global::System.Nullable<global::System.TimeSpan> value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnBirthTimeChanged();
         /// <summary>
-        /// There are no comments for Property BirthWeight in the schema.
+        /// There are no comments for property BirthWeight in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Nullable<double> BirthWeight
         {
             get
@@ -604,14 +678,18 @@
                 this.OnBirthWeightChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Nullable<double> _BirthWeight;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnBirthWeightChanging(global::System.Nullable<double> value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnBirthWeightChanged();
         /// <summary>
-        /// There are no comments for Property Modified in the schema.
+        /// There are no comments for property Modified in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.DateTimeOffset Modified
         {
             get
@@ -627,8 +705,11 @@
                 this.OnModifiedChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.DateTimeOffset _Modified;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnModifiedChanging(global::System.DateTimeOffset value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnModifiedChanged();
     }
     /// <summary>
@@ -648,6 +729,7 @@
         /// <param name="id">Initial value of Id.</param>
         /// <param name="name">Initial value of Name.</param>
         /// <param name="address">Initial value of Address.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Company CreateCompany(int id, string name, CommonAddress address)
         {
             Company company = new Company();
@@ -657,10 +739,11 @@
             return company;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Id
         {
             get
@@ -676,14 +759,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property Name in the schema.
+        /// There are no comments for property Name in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string Name
         {
             get
@@ -699,14 +786,18 @@
                 this.OnNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _Name;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanged();
         /// <summary>
-        /// There are no comments for Property DateBegan in the schema.
+        /// There are no comments for property DateBegan in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Nullable<global::System.DateTime> DateBegan
         {
             get
@@ -722,14 +813,18 @@
                 this.OnDateBeganChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Nullable<global::System.DateTime> _DateBegan;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnDateBeganChanging(global::System.Nullable<global::System.DateTime> value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnDateBeganChanged();
         /// <summary>
-        /// There are no comments for Property NumEmployees in the schema.
+        /// There are no comments for property NumEmployees in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Nullable<int> NumEmployees
         {
             get
@@ -745,17 +840,21 @@
                 this.OnNumEmployeesChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Nullable<int> _NumEmployees;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNumEmployeesChanging(global::System.Nullable<int> value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNumEmployeesChanged();
         /// <summary>
-        /// There are no comments for Property Address in the schema.
+        /// There are no comments for property Address in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmComplexPropertyAttribute()]
         [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
         [global::System.Xml.Serialization.XmlElement(IsNullable=true)]
         [global::System.Xml.Serialization.SoapElement(IsNullable=true)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public CommonAddress Address
         {
             get
@@ -774,14 +873,19 @@
                 this.OnAddressChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private CommonAddress _Address;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private bool _AddressInitialized;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAddressChanging(CommonAddress value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAddressChanged();
         /// <summary>
         /// There are no comments for Toys in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("testModel", "FK_Toys_Supplier", "Toys")]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Xml.Serialization.XmlIgnoreAttribute()]
         [global::System.Xml.Serialization.SoapIgnoreAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -817,6 +921,7 @@
         /// <param name="id">Initial value of Id.</param>
         /// <param name="name">Initial value of Name.</param>
         /// <param name="minAge">Initial value of MinAge.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Toy CreateToy(int id, string name, int minAge)
         {
             Toy toy = new Toy();
@@ -826,10 +931,11 @@
             return toy;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Id
         {
             get
@@ -845,14 +951,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property Name in the schema.
+        /// There are no comments for property Name in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string Name
         {
             get
@@ -868,14 +978,18 @@
                 this.OnNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _Name;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanged();
         /// <summary>
-        /// There are no comments for Property MinAge in the schema.
+        /// There are no comments for property MinAge in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int MinAge
         {
             get
@@ -891,13 +1005,17 @@
                 this.OnMinAgeChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _MinAge;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnMinAgeChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnMinAgeChanged();
         /// <summary>
         /// There are no comments for Supplier in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("testModel", "FK_Toys_Supplier", "Supplier")]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Xml.Serialization.XmlIgnoreAttribute()]
         [global::System.Xml.Serialization.SoapIgnoreAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -916,6 +1034,7 @@
         /// There are no comments for Supplier in the schema.
         /// </summary>
         [global::System.ComponentModel.BrowsableAttribute(false)]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
         public global::System.Data.Objects.DataClasses.EntityReference<Company> SupplierReference
         {
@@ -941,10 +1060,11 @@
     public partial class CommonAddress : global::System.Data.Objects.DataClasses.ComplexObject
     {
         /// <summary>
-        /// There are no comments for Property Address in the schema.
+        /// There are no comments for property Address in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string Address
         {
             get
@@ -960,14 +1080,18 @@
                 this.OnAddressChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _Address;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAddressChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAddressChanged();
         /// <summary>
-        /// There are no comments for Property City in the schema.
+        /// There are no comments for property City in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string City
         {
             get
@@ -983,14 +1107,18 @@
                 this.OnCityChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _City;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnCityChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnCityChanged();
         /// <summary>
-        /// There are no comments for Property State in the schema.
+        /// There are no comments for property State in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string State
         {
             get
@@ -1006,14 +1134,18 @@
                 this.OnStateChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _State;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnStateChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnStateChanged();
         /// <summary>
-        /// There are no comments for Property ZipCode in the schema.
+        /// There are no comments for property ZipCode in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string ZipCode
         {
             get
@@ -1029,8 +1161,11 @@
                 this.OnZipCodeChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _ZipCode;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnZipCodeChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnZipCodeChanged();
     }
     /// <summary>
@@ -1049,6 +1184,7 @@
         /// </summary>
         /// <param name="id">Initial value of Id.</param>
         /// <param name="name">Initial value of Name.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Store CreateStore(int id, string name)
         {
             Store store = new Store();
@@ -1057,10 +1193,11 @@
             return store;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Id
         {
             get
@@ -1076,14 +1213,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property Name in the schema.
+        /// There are no comments for property Name in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string Name
         {
             get
@@ -1099,14 +1240,18 @@
                 this.OnNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _Name;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanged();
         /// <summary>
-        /// There are no comments for Property Address in the schema.
+        /// There are no comments for property Address in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string Address
         {
             get
@@ -1122,14 +1267,18 @@
                 this.OnAddressChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _Address;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAddressChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAddressChanged();
         /// <summary>
-        /// There are no comments for Property City in the schema.
+        /// There are no comments for property City in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string City
         {
             get
@@ -1145,14 +1294,18 @@
                 this.OnCityChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _City;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnCityChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnCityChanged();
         /// <summary>
-        /// There are no comments for Property State in the schema.
+        /// There are no comments for property State in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string State
         {
             get
@@ -1168,14 +1321,18 @@
                 this.OnStateChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _State;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnStateChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnStateChanged();
         /// <summary>
-        /// There are no comments for Property ZipCode in the schema.
+        /// There are no comments for property ZipCode in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string ZipCode
         {
             get
@@ -1191,8 +1348,11 @@
                 this.OnZipCodeChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _ZipCode;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnZipCodeChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnZipCodeChanged();
     }
     /// <summary>
@@ -1211,6 +1371,7 @@
         /// </summary>
         /// <param name="id">Initial value of Id.</param>
         /// <param name="freight">Initial value of Freight.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Order CreateOrder(int id, double freight)
         {
             Order order = new Order();
@@ -1219,10 +1380,11 @@
             return order;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Id
         {
             get
@@ -1238,14 +1400,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property Freight in the schema.
+        /// There are no comments for property Freight in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public double Freight
         {
             get
@@ -1261,13 +1427,17 @@
                 this.OnFreightChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private double _Freight;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnFreightChanging(double value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnFreightChanged();
         /// <summary>
         /// There are no comments for Store in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("testModel", "FK_Orders_Store", "Store")]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Xml.Serialization.XmlIgnoreAttribute()]
         [global::System.Xml.Serialization.SoapIgnoreAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -1286,6 +1456,7 @@
         /// There are no comments for Store in the schema.
         /// </summary>
         [global::System.ComponentModel.BrowsableAttribute(false)]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
         public global::System.Data.Objects.DataClasses.EntityReference<Store> StoreReference
         {
@@ -1319,6 +1490,7 @@
         /// <param name="id">Initial value of Id.</param>
         /// <param name="name">Initial value of Name.</param>
         /// <param name="pages">Initial value of Pages.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Book CreateBook(int id, string name, int pages)
         {
             Book book = new Book();
@@ -1328,10 +1500,11 @@
             return book;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Id
         {
             get
@@ -1347,14 +1520,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property Name in the schema.
+        /// There are no comments for property Name in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string Name
         {
             get
@@ -1370,14 +1547,18 @@
                 this.OnNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _Name;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanged();
         /// <summary>
-        /// There are no comments for Property Pages in the schema.
+        /// There are no comments for property Pages in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Pages
         {
             get
@@ -1393,13 +1574,17 @@
                 this.OnPagesChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Pages;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnPagesChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnPagesChanged();
         /// <summary>
         /// There are no comments for Author in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("testModel", "FK_Books_Authors", "Authors")]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Xml.Serialization.XmlIgnoreAttribute()]
         [global::System.Xml.Serialization.SoapIgnoreAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -1418,6 +1603,7 @@
         /// There are no comments for Author in the schema.
         /// </summary>
         [global::System.ComponentModel.BrowsableAttribute(false)]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
         public global::System.Data.Objects.DataClasses.EntityReference<Author> AuthorReference
         {
@@ -1437,6 +1623,7 @@
         /// There are no comments for Publisher in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("testModel", "FK_Books_Publishers", "Publishers")]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Xml.Serialization.XmlIgnoreAttribute()]
         [global::System.Xml.Serialization.SoapIgnoreAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -1455,6 +1642,7 @@
         /// There are no comments for Publisher in the schema.
         /// </summary>
         [global::System.ComponentModel.BrowsableAttribute(false)]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
         public global::System.Data.Objects.DataClasses.EntityReference<Publisher> PublisherReference
         {
@@ -1487,6 +1675,7 @@
         /// </summary>
         /// <param name="id">Initial value of Id.</param>
         /// <param name="name">Initial value of Name.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Author CreateAuthor(int id, string name)
         {
             Author author = new Author();
@@ -1495,10 +1684,11 @@
             return author;
         }
         /// <summary>
-        /// There are no comments for Property Id in the schema.
+        /// There are no comments for property Id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int Id
         {
             get
@@ -1514,14 +1704,18 @@
                 this.OnIdChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _Id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnIdChanged();
         /// <summary>
-        /// There are no comments for Property Name in the schema.
+        /// There are no comments for property Name in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string Name
         {
             get
@@ -1537,14 +1731,18 @@
                 this.OnNameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _Name;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnNameChanged();
         /// <summary>
-        /// There are no comments for Property Age in the schema.
+        /// There are no comments for property Age in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Nullable<int> Age
         {
             get
@@ -1560,13 +1758,17 @@
                 this.OnAgeChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Nullable<int> _Age;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAgeChanging(global::System.Nullable<int> value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnAgeChanged();
         /// <summary>
         /// There are no comments for Books in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("testModel", "FK_Books_Authors", "Books")]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Xml.Serialization.XmlIgnoreAttribute()]
         [global::System.Xml.Serialization.SoapIgnoreAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -1601,6 +1803,7 @@
         /// </summary>
         /// <param name="id">Initial value of id.</param>
         /// <param name="name">Initial value of name.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static Publisher CreatePublisher(int id, string name)
         {
             Publisher publisher = new Publisher();
@@ -1609,10 +1812,11 @@
             return publisher;
         }
         /// <summary>
-        /// There are no comments for Property id in the schema.
+        /// There are no comments for property id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public int id
         {
             get
@@ -1628,14 +1832,18 @@
                 this.OnidChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private int _id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnidChanging(int value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnidChanged();
         /// <summary>
-        /// There are no comments for Property name in the schema.
+        /// There are no comments for property name in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string name
         {
             get
@@ -1651,13 +1859,17 @@
                 this.OnnameChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _name;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnnameChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnnameChanged();
         /// <summary>
         /// There are no comments for Books in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("testModel", "FK_Books_Publishers", "Books")]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         [global::System.Xml.Serialization.XmlIgnoreAttribute()]
         [global::System.Xml.Serialization.SoapIgnoreAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
@@ -1692,6 +1904,7 @@
         /// </summary>
         /// <param name="id">Initial value of id.</param>
         /// <param name="id2">Initial value of id2.</param>
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public static DataTypeTest CreateDataTypeTest(global::System.Guid id, global::System.Guid id2)
         {
             DataTypeTest dataTypeTest = new DataTypeTest();
@@ -1700,10 +1913,11 @@
             return dataTypeTest;
         }
         /// <summary>
-        /// There are no comments for Property id in the schema.
+        /// There are no comments for property id in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Guid id
         {
             get
@@ -1719,14 +1933,18 @@
                 this.OnidChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Guid _id;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnidChanging(global::System.Guid value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnidChanged();
         /// <summary>
-        /// There are no comments for Property id2 in the schema.
+        /// There are no comments for property id2 in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public global::System.Guid id2
         {
             get
@@ -1742,14 +1960,18 @@
                 this.Onid2Changed();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private global::System.Guid _id2;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void Onid2Changing(global::System.Guid value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void Onid2Changed();
         /// <summary>
-        /// There are no comments for Property idAsChar in the schema.
+        /// There are no comments for property idAsChar in the schema.
         /// </summary>
         [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
         [global::System.Runtime.Serialization.DataMemberAttribute()]
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         public string idAsChar
         {
             get
@@ -1765,8 +1987,11 @@
                 this.OnidAsCharChanged();
             }
         }
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         private string _idAsChar;
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnidAsCharChanging(string value);
+        [global::System.CodeDom.Compiler.GeneratedCode("System.Data.Entity.Design.EntityClassGenerator", "4.0.0.0")]
         partial void OnidAsCharChanged();
     }
 }

=== modified file 'MySql.Data.Entity/Tests/TestModel.edmx'
--- a/MySql.Data.Entity/Tests/TestModel.edmx	2010-09-01 17:50:11 +0000
+++ b/MySql.Data.Entity/Tests/TestModel.edmx	2010-10-04 18:08:24 +0000
@@ -5,7 +5,7 @@
     <!-- SSDL content -->
     <edmx:StorageModels>
       <Schema xmlns="http://schemas.microsoft.com/ado/2006/04/edm/ssdl" Namespace="testModel.Store" Alias="Self" Provider="MySql.Data.MySqlClient" ProviderManifestToken="5">
-        <EntityContainer Name="test" >
+        <EntityContainer Name="testContainer" >
           <EntitySet Name="Employees" EntityType="testModel.Store.Employees" />
           <EntitySet Name="EmployeeChildren" EntityType="testModel.Store.EmployeeChildren" />
           <EntitySet Name="SalariedEmployees" EntityType ="testModel.Store.SalariedEmployees"/>
@@ -395,7 +395,7 @@
       <Mapping xmlns="urn:schemas-microsoft-com:windows:storage:mapping:CS" Space="C-S">
         <Alias Key="Model" Value="testModel" />
         <Alias Key="Target" Value="testModel.Store" />
-        <EntityContainerMapping CdmEntityContainer="testEntities" StorageEntityContainer="test">
+        <EntityContainerMapping CdmEntityContainer="testEntities" StorageEntityContainer="testContainer">
 
 
           <!--		<EntitySetMapping Name="Employee">

Attachment: [text/bzr-bundle] bzr/reggie.burnett@oracle.com-20101004180824-0o0rlupuc8j5g7sd.bundle
Thread
bzr commit into connector-net-trunk branch (reggie.burnett:932) Bug#56589Reggie Burnett4 Oct