List:Commits« Previous MessageNext Message »
From:Vladislav Vaintroub Date:August 11 2009 1:17am
Subject:bzr commit into connector-net-6.0 branch (vvaintroub:742)
View as plain text  
#At file:///H:/connector_net/6.0/ based on revid:vvaintroub@stripped5dp9f

  742 Vladislav Vaintroub	2009-08-11 [merge]
      merge

    added:
      MySql.Data.Entity/Provider/EFMySqlCommand.cs
      MySql.Data.Entity/Provider/EFMySqlDataReader.cs
      MySql.Data.Entity/Tests/DataTypeTests.cs
    modified:
      CHANGES
      MySql.Data.Entity/Provider/Generators/SqlGenerator.cs
      MySql.Data.Entity/Provider/Metadata.cs
      MySql.Data.Entity/Provider/MySql.Data.Entity.csproj
      MySql.Data.Entity/Provider/Properties/ProviderManifest.xml
      MySql.Data.Entity/Provider/ProviderServices.cs
      MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.csproj
      MySql.Data.Entity/Tests/Properties/schema.sql
      MySql.Data.Entity/Tests/TestModel.Designer.cs
      MySql.Data.Entity/Tests/TestModel.csdl
      MySql.Data.Entity/Tests/TestModel.msl
      MySql.Data.Entity/Tests/TestModel.ssdl
      MySql.Data/Provider/Source/MySqlScript.cs
      MySql.Data/Provider/Source/command.cs
      MySql.Data/Provider/Source/datareader.cs
      MySql.Data/Tests/MySql.Data.CF.Tests.csproj
=== modified file 'CHANGES'
--- a/CHANGES	2009-08-11 01:14:22 +0000
+++ b/CHANGES	2009-08-11 01:17:28 +0000
@@ -18,6 +18,12 @@ Version 6.0.5
 - fixed 'can't find svctag.xml' installer bug (thanks Iggy!)  (bug #45474)
 - fixed DbSkipExpression so that it would respect any sort clauses that are attached
   (thanks Lynn!) (bug #45723)
+- fixed bug that caused our TIME type to not be supported (bug #45457)
+- fixed unsigned type problems with entity framework (bug #45077)  
+- fixed formatting of single, double, and decimal values when used with entity framework
+  in cultures that use the comma as a decimal separator (bug #44455)  
+- fixed GetSByte method to actually return an sbyte  (bug #46620)
+- fixed timestamp columns with entity framework (bug #46311)  
   
 Version 6.0.4
 - fixed regression where using stored procs with datasets (bug #44460)

=== added file 'MySql.Data.Entity/Provider/EFMySqlCommand.cs'
--- a/MySql.Data.Entity/Provider/EFMySqlCommand.cs	1970-01-01 00:00:00 +0000
+++ b/MySql.Data.Entity/Provider/EFMySqlCommand.cs	2009-08-10 15:30:16 +0000
@@ -0,0 +1,137 @@
+// Copyright (c) 2009 Sun Microsystems, Inc.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation
+//
+// There are special exceptions to the terms and conditions of the GPL 
+// as it is applied to this software. View the full text of the 
+// exception in file EXCEPTIONS in the directory of this software 
+// distribution.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+using System;
+using System.Data.Common;
+using System.Data.Metadata.Edm;
+using System.Data;
+using MySql.Data.MySqlClient;
+
+namespace MySql.Data.Entity
+{
+    class EFMySqlCommand : DbCommand, ICloneable
+    {
+        private bool designTimeVisible = true;
+        private DbConnection connection;
+        private MySqlCommand command = new MySqlCommand();
+
+        internal PrimitiveType[] ColumnTypes;
+
+        #region Properties
+
+        public override string CommandText
+        {
+            get { return command.CommandText; }
+            set { command.CommandText = value; }
+        }
+
+        public override int CommandTimeout
+        {
+            get { return command.CommandTimeout; }
+            set { command.CommandTimeout = value; }
+        }
+
+        public override CommandType CommandType
+        {
+            get { return command.CommandType; }
+            set { command.CommandType = value; }
+        }
+
+        public override bool DesignTimeVisible
+        {
+            get { return designTimeVisible; }
+            set { designTimeVisible = value; }
+        }
+
+        protected override DbConnection DbConnection
+        {
+            get { return connection; }
+            set 
+            { 
+                connection = value;
+                command.Connection = (MySqlConnection)value;
+            }
+        }
+
+        protected override DbTransaction DbTransaction
+        {
+            get { return command.Transaction; }
+            set { command.Transaction = (MySqlTransaction)value; }
+        }
+
+        protected override DbParameterCollection DbParameterCollection
+        {
+            get { return command.Parameters; }
+        }
+
+        public override UpdateRowSource UpdatedRowSource
+        {
+            get { return command.UpdatedRowSource; }
+            set { command.UpdatedRowSource = value; }
+        }
+
+        #endregion
+
+        public override void Cancel()
+        {
+            command.Cancel();
+        }
+
+        protected override DbParameter CreateDbParameter()
+        {
+            return new MySqlParameter();
+        }
+
+        protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
+        {
+            return new EFMySqlDataReader(this, command.ExecuteReader(behavior));
+        }
+
+        public override int ExecuteNonQuery()
+        {
+            return command.ExecuteNonQuery();
+        }
+
+        public override object ExecuteScalar()
+        {
+            return command.ExecuteScalar();
+        }
+
+        public override void Prepare()
+        {
+            command.Prepare();
+        }
+
+        #region ICloneable Members
+
+        public object Clone()
+        {
+            EFMySqlCommand clone = new EFMySqlCommand();
+
+            clone.connection = connection;
+            clone.ColumnTypes = ColumnTypes;
+            clone.command = (MySqlCommand)((ICloneable)command).Clone();
+
+            return clone;
+        }
+
+        #endregion
+    }
+}

=== added file 'MySql.Data.Entity/Provider/EFMySqlDataReader.cs'
--- a/MySql.Data.Entity/Provider/EFMySqlDataReader.cs	1970-01-01 00:00:00 +0000
+++ b/MySql.Data.Entity/Provider/EFMySqlDataReader.cs	2009-08-10 15:30:16 +0000
@@ -0,0 +1,237 @@
+∩╗+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation
+//
+// There are special exceptions to the terms and conditions of the GPL 
+// as it is applied to this software. View the full text of the 
+// exception in file EXCEPTIONS in the directory of this software 
+// distribution.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+using System;
+using System.Data.Common;
+using MySql.Data.MySqlClient;
+using System.Collections;
+using System.Data;
+using System.Data.Metadata.Edm;
+using System.Globalization;
+
+namespace MySql.Data.Entity
+{
+    class EFMySqlDataReader : DbDataReader
+    {
+        private EFMySqlCommand command;
+        private MySqlDataReader reader;
+        private PrimitiveType[] types;
+
+        public EFMySqlDataReader(EFMySqlCommand cmd, MySqlDataReader wrappedReader)
+        {
+            command = cmd;
+            reader = wrappedReader;
+            types = command.ColumnTypes;
+        }
+
+        #region Properties
+
+        public override int Depth
+        {
+            get { return reader.Depth; }
+        }
+
+        public override int FieldCount
+        {
+            get { return reader.FieldCount; }
+        }
+
+        public override bool HasRows
+        {
+            get { return reader.HasRows; }
+        }
+
+        public override bool IsClosed
+        {
+            get { return reader.IsClosed; }
+        }
+
+        public override int RecordsAffected
+        {
+            get { return reader.RecordsAffected; }
+        }
+
+        public override object this[string name]
+        {
+            get { return GetValue(GetOrdinal(name)); }
+        }
+
+        public override object this[int ordinal]
+        {
+            get { return GetValue(ordinal); }
+        }
+
+        #endregion
+
+        public override void Close()
+        {
+            GC.SuppressFinalize(this);
+            reader.Close();
+        }
+
+        public override bool GetBoolean(int ordinal)
+        {
+            return reader.GetBoolean(ordinal);
+        }
+
+        public override byte GetByte(int ordinal)
+        {
+            return reader.GetByte(ordinal);
+        }
+
+        public override long GetBytes(int ordinal, long dataOffset, byte[] buffer, int bufferOffset, int length)
+        {
+            return reader.GetBytes(ordinal, dataOffset, buffer, bufferOffset, length);
+        }
+
+        public override char GetChar(int ordinal)
+        {
+            return reader.GetChar(ordinal);
+        }
+
+        public override long GetChars(int ordinal, long dataOffset, char[] buffer, int bufferOffset, int length)
+        {
+            return reader.GetChars(ordinal, dataOffset, buffer, bufferOffset, length);
+        }
+
+        public override string GetDataTypeName(int ordinal)
+        {
+            if (types != null)
+                return types[ordinal].Name;
+            return reader.GetDataTypeName(ordinal);
+        }
+
+        public override DateTime GetDateTime(int ordinal)
+        {
+            return reader.GetDateTime(ordinal);
+        }
+
+        public override decimal GetDecimal(int ordinal)
+        {
+            return reader.GetDecimal(ordinal);
+        }
+
+        public override double GetDouble(int ordinal)
+        {
+            return reader.GetDouble(ordinal);
+        }
+
+        public override IEnumerator GetEnumerator()
+        {
+            return reader.GetEnumerator();
+        }
+
+        public override Type GetFieldType(int ordinal)
+        {
+            if (types != null)
+                return types[ordinal].ClrEquivalentType;
+            return reader.GetFieldType(ordinal);
+        }
+
+        public override float GetFloat(int ordinal)
+        {
+            return reader.GetFloat(ordinal);
+        }
+
+        public override Guid GetGuid(int ordinal)
+        {
+            return reader.GetGuid(ordinal);
+        }
+
+        public override short GetInt16(int ordinal)
+        {
+            return reader.GetInt16(ordinal);
+        }
+
+        public override int GetInt32(int ordinal)
+        {
+            return reader.GetInt32(ordinal);
+        }
+
+        public override long GetInt64(int ordinal)
+        {
+            return reader.GetInt64(ordinal);
+        }
+
+        public override string GetName(int ordinal)
+        {
+            return reader.GetName(ordinal);
+        }
+
+        public override int GetOrdinal(string name)
+        {
+            return reader.GetOrdinal(name);
+        }
+
+        public override DataTable GetSchemaTable()
+        {
+            return reader.GetSchemaTable();
+        }
+
+        public override string GetString(int ordinal)
+        {
+            return reader.GetString(ordinal);
+        }
+
+        public override object GetValue(int ordinal)
+        {
+            object value = reader.GetValue(ordinal);
+
+            if (types != null)
+            {
+                if (!(value is DBNull) && value.GetType()
+                    != types[ordinal].ClrEquivalentType)
+                    value = Convert.ChangeType(value, types[ordinal].ClrEquivalentType, CultureInfo.InvariantCulture);
+            }
+            return value;
+        }
+
+        public override int GetValues(object[] values)
+        {
+            for (int i = 0; i < values.Length; ++i)
+                values[i] = GetValue(i);
+            return values.Length;
+        }
+
+        public override bool IsDBNull(int ordinal)
+        {
+            return reader.IsDBNull(ordinal);
+        }
+
+        public override bool NextResult()
+        {
+            return reader.NextResult();
+        }
+
+        public override bool Read()
+        {
+            return reader.Read();
+        }
+
+        protected override void Dispose(bool disposing)
+        {
+            GC.SuppressFinalize(this);
+            if (disposing)
+                reader.Dispose();
+            base.Dispose(disposing);
+        }
+
+    }
+}

=== modified file 'MySql.Data.Entity/Provider/Generators/SqlGenerator.cs'
--- a/MySql.Data.Entity/Provider/Generators/SqlGenerator.cs	2009-04-21 18:02:13 +0000
+++ b/MySql.Data.Entity/Provider/Generators/SqlGenerator.cs	2009-08-10 17:37:48 +0000
@@ -148,13 +148,9 @@ namespace MySql.Data.Entity
         public override SqlFragment Visit(DbConstantExpression expression)
         {
             PrimitiveTypeKind pt = ((PrimitiveType)expression.ResultType.EdmType).PrimitiveTypeKind;
-            if (Metadata.IsNumericType(expression.ResultType))
-                return new LiteralFragment(expression.Value.ToString());
-            else if (pt == PrimitiveTypeKind.Decimal)
-            {
-                decimal val = (decimal)expression.Value;
-                return new LiteralFragment(val.ToString(CultureInfo.InvariantCulture));
-            }
+            string literal = Metadata.GetNumericLiteral(pt, expression.Value);
+            if (literal != null)
+                return new LiteralFragment(literal);
             else if (pt == PrimitiveTypeKind.Boolean)
                 return new LiteralFragment(String.Format("cast({0} as decimal(0,0))",
                     (bool)expression.Value ? 1 : 0));

=== modified file 'MySql.Data.Entity/Provider/Metadata.cs'
--- a/MySql.Data.Entity/Provider/Metadata.cs	2009-04-21 18:02:13 +0000
+++ b/MySql.Data.Entity/Provider/Metadata.cs	2009-08-10 17:37:48 +0000
@@ -23,11 +23,32 @@ using System.Data;
 using System.Data.Metadata.Edm;
 using System.Data.Common.CommandTrees;
 using System.Collections.Generic;
+using System.Globalization;
 
 namespace MySql.Data.Entity
 {
     class Metadata
     {
+        public static string GetNumericLiteral(PrimitiveTypeKind type, object value)
+        {
+            switch (type)
+            {
+                case PrimitiveTypeKind.Byte:
+                case PrimitiveTypeKind.Int16:
+                case PrimitiveTypeKind.Int32:
+                case PrimitiveTypeKind.Int64:
+                case PrimitiveTypeKind.SByte:
+                    return value.ToString();
+                case PrimitiveTypeKind.Double:
+                    return ((double)value).ToString("R", CultureInfo.InvariantCulture);
+                case PrimitiveTypeKind.Single:
+                    return ((float)value).ToString("R", CultureInfo.InvariantCulture);
+                case PrimitiveTypeKind.Decimal:
+                    return ((decimal)value).ToString(CultureInfo.InvariantCulture);
+            }
+            return null;
+        }
+
         public static bool IsNumericType(TypeUsage typeUsage)
         {
             PrimitiveType pt = (PrimitiveType)typeUsage.EdmType;
@@ -66,6 +87,7 @@ namespace MySql.Data.Entity
                 case PrimitiveTypeKind.Int64: return DbType.Int64;
                 case PrimitiveTypeKind.SByte: return DbType.SByte;
                 case PrimitiveTypeKind.String: return DbType.String;
+                case PrimitiveTypeKind.Time: return DbType.Time;
                 //                case PrimitiveTypeKind.UInt16: return DbType.UInt16;
                 //                case PrimitiveTypeKind.UInt32: return DbType.UInt32;
                 //                case PrimitiveTypeKind.UInt64: return DbType.UInt64;

=== modified file 'MySql.Data.Entity/Provider/MySql.Data.Entity.csproj'
--- a/MySql.Data.Entity/Provider/MySql.Data.Entity.csproj	2009-05-20 14:54:30 +0000
+++ b/MySql.Data.Entity/Provider/MySql.Data.Entity.csproj	2009-08-10 15:30:16 +0000
@@ -3,7 +3,7 @@ <?xml version="1.0" encoding="utf-8"?
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.20506</ProductVersion>
+    <ProductVersion>9.0.30729</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>

     <ProjectGuid>{A8E799B1-D6AC-42BD-907E-B213D7E9B3C5}</ProjectGuid>
     <OutputType>Library</OutputType>
@@ -53,6 +53,10 @@ <?xml version="1.0" encoding="utf-8"?
     <Compile Include="..\..\MySql.Data\Provider\Properties\VersionInfo.cs">
       <Link>Properties\VersionInfo.cs</Link>
     </Compile>
+    <Compile Include="EFMySqlCommand.cs">
+      <SubType>Component</SubType>
+    </Compile>
+    <Compile Include="EFMySqlDataReader.cs" />
     <Compile Include="Fragments\TableFragment.cs" />
     <Compile Include="Fragments\InputFragment.cs" />
     <Compile Include="Fragments\JoinFragment.cs" />

=== modified file 'MySql.Data.Entity/Provider/Properties/ProviderManifest.xml'
--- a/MySql.Data.Entity/Provider/Properties/ProviderManifest.xml	2009-06-09 19:54:16 +0000
+++ b/MySql.Data.Entity/Provider/Properties/ProviderManifest.xml	2009-08-10 21:17:20 +0000
@@ -39,10 +39,9 @@ PROCESS
         <Scale Minimum="0" Maximum="30" DefaultValue="0" Constant="false" />
       </FacetDescriptions>
     </Type>
-    <Type Name="timestamp" PrimitiveTypeKind="Binary">
+    <Type Name="timestamp" PrimitiveTypeKind="DateTime">
       <FacetDescriptions>
-        <MaxLength DefaultValue="19" Constant="true" />
-        <FixedLength DefaultValue="true" Constant="true" />
+        <Precision DefaultValue="0" Constant="true" />
       </FacetDescriptions>
     </Type>
     <Type Name="date" PrimitiveTypeKind="DateTime">

=== modified file 'MySql.Data.Entity/Provider/ProviderServices.cs'
--- a/MySql.Data.Entity/Provider/ProviderServices.cs	2009-05-19 18:38:18 +0000
+++ b/MySql.Data.Entity/Provider/ProviderServices.cs	2009-08-10 15:30:16 +0000
@@ -58,12 +58,33 @@ namespace MySql.Data.MySqlClient
 
             string sql = generator.GenerateSQL(commandTree);
 
-            MySqlCommand cmd = new MySqlCommand(sql);
+            EFMySqlCommand cmd = new EFMySqlCommand();
+            cmd.CommandText = sql;
             if (generator is FunctionGenerator)
                 cmd.CommandType = (generator as FunctionGenerator).CommandType;
 
-            FieldInfo fi = cmd.GetType().GetField("EFCrap", BindingFlags.NonPublic | BindingFlags.Instance);
-            fi.SetValue(cmd, true);
+            DbQueryCommandTree queryTree = commandTree as DbQueryCommandTree;
+            if (queryTree != null)
+            {
+                DbProjectExpression projectExpression = queryTree.Query as DbProjectExpression;
+                if (projectExpression != null)
+                {
+                    EdmType resultsType = projectExpression.Projection.ResultType.EdmType;
+
+                    StructuralType resultsAsStructuralType = resultsType as StructuralType;
+                    if (resultsAsStructuralType != null)
+                    {
+                        cmd.ColumnTypes = new PrimitiveType[resultsAsStructuralType.Members.Count];
+
+                        for (int ordinal = 0; ordinal < resultsAsStructuralType.Members.Count; ordinal++)
+                        {
+                            EdmMember member = resultsAsStructuralType.Members[ordinal];
+                            PrimitiveType primitiveType = member.TypeUsage.EdmType as PrimitiveType;
+                            cmd.ColumnTypes[ordinal] = primitiveType;
+                        }
+                    }
+                }
+            }
 
             // Now make sure we populate the command's parameters from the CQT's parameters:
             foreach (KeyValuePair<string, TypeUsage> queryParameter in commandTree.Parameters)

=== added file 'MySql.Data.Entity/Tests/DataTypeTests.cs'
--- a/MySql.Data.Entity/Tests/DataTypeTests.cs	1970-01-01 00:00:00 +0000
+++ b/MySql.Data.Entity/Tests/DataTypeTests.cs	2009-08-10 21:17:20 +0000
@@ -0,0 +1,132 @@
+// Copyright (c) 2008 MySQL AB, 2008-2009 Sun Microsystems, Inc.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation
+//
+// There are special exceptions to the terms and conditions of the GPL 
+// as it is applied to this software. View the full text of the 
+// exception in file EXCEPTIONS in the directory of this software 
+// distribution.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
+
+using System;
+using System.Data;
+using System.Threading;
+using System.Linq;
+using MySql.Data.MySqlClient;
+using NUnit.Framework;
+using MySql.Data.MySqlClient.Tests;
+using System.Data.EntityClient;
+using System.Data.Common;
+using System.Data.Objects;
+using System.Globalization;
+
+namespace MySql.Data.Entity.Tests
+{
+	[TestFixture]
+	public class DataTypeTests : BaseEdmTest
+    {
+        /// <summary>
+        /// Bug #45457 DbType Time is not supported in entity framework
+        /// </summary>
+        [Test]
+        public void TimeType()
+        {
+            using (testEntities context = new testEntities())
+            {
+                TimeSpan birth = new TimeSpan(11,3,2);
+
+                Child c = new Child();
+                c.Id = 20;
+                c.EmployeeID = 1;
+                c.FirstName = "first";
+                c.LastName = "last";
+                c.BirthTime = birth;
+                context.AddToChildren(c);
+                context.SaveChanges();
+
+                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM EmployeeChildren WHERE id=20", conn);
+                DataTable dt = new DataTable();
+                da.Fill(dt);
+                Assert.AreEqual(birth, dt.Rows[0]["birthtime"]);
+            }
+        }
+
+        /// <summary>
+        /// Bug #45077	Insert problem with Connector/NET 6.0.3 and entity framework
+        /// Bug #45175	Wrong SqlType for unsigned smallint when generating Entity Framework Model
+        /// </summary>
+        [Test]
+        public void UnsignedValues()
+        {
+            using (testEntities context = new testEntities())
+            {
+                var row = context.Children.First();
+                context.Detach(row);
+                context.Attach(row);
+            }
+        }
+
+        /// <summary>
+        /// Bug #44455	insert and update error with entity framework
+        /// </summary>
+        [Test]
+        public void DoubleValuesNonEnglish()
+        {
+            CultureInfo curCulture = Thread.CurrentThread.CurrentCulture;
+            CultureInfo curUICulture = Thread.CurrentThread.CurrentUICulture;
+            CultureInfo newCulture = new CultureInfo("da-DK");
+            Thread.CurrentThread.CurrentCulture = newCulture;
+            Thread.CurrentThread.CurrentUICulture = newCulture;
+
+            try
+            {
+                using (testEntities context = new testEntities())
+                {
+                    Child c = new Child();
+                    c.Id = 20;
+                    c.EmployeeID = 1;
+                    c.FirstName = "Bam bam";
+                    c.LastName = "Rubble";
+                    c.BirthWeight = 8.65;
+                    context.AddToChildren(c);
+                    context.SaveChanges();
+                }
+            }
+            finally
+            {
+                Thread.CurrentThread.CurrentCulture = curCulture;
+                Thread.CurrentThread.CurrentUICulture = curUICulture;
+            }
+        }
+
+        /// <summary>
+        /// Bug #46311	TimeStamp table column Entity Framework issue.
+        /// </summary>
+        [Test]
+        public void TimestampColumn()
+        {
+            DateTime now = DateTime.Now;
+
+            using (testEntities context = new testEntities())
+            {
+                Child c = context.Children.First();
+                DateTime dt = c.Modified;
+                c.Modified = now;
+                context.SaveChanges();
+
+                c = context.Children.First();
+                Assert.AreEqual(now, c.Modified);
+            }
+        }
+    }
+}
\ No newline at end of file

=== modified file 'MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.csproj'
--- a/MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.csproj	2009-05-20 14:54:30 +0000
+++ b/MySql.Data.Entity/Tests/MySql.Data.Entity.Tests.csproj	2009-08-10 15:30:16 +0000
@@ -3,7 +3,7 @@ <?xml version="1.0" encoding="utf-8"?
   <PropertyGroup>
     <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
     <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.20506</ProductVersion>
+    <ProductVersion>9.0.30729</ProductVersion>
     <SchemaVersion>2.0</SchemaVersion>
     <ProjectGuid>{77EC4E20-293A-48BA-8415-D0AD869D91FA}</ProjectGuid>
     <OutputType>Library</OutputType>
@@ -63,20 +63,21 @@ ∩╗mpile Include="BaseEdmTest.cs" />
     <Compile Include="AggregateOperators.cs" />
     <Compile Include="CanonicalFunctions.cs" />
+    <Compile Include="DataTypeTests.cs" />
     <Compile Include="ProceduresAndFunctions.cs" />
     <Compile Include="JoinTests.cs" />
     <Compile Include="SchemaInformation.cs" />
+    <Compile Include="TestModel.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>TestModel.csdl</DependentUpon>
+    </Compile>
     <Compile Include="Wizard.cs" />
     <Compile Include="RelationalOperators.cs" />
     <Compile Include="SetOperators.cs" />
     <Compile Include="Paging.cs" />
     <Compile Include="OrderingAndGrouping.cs" />
     <Compile Include="InsertTests.cs" />
-    <Compile Include="TestModel.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>TestModel.csdl</DependentUpon>
-    </Compile>
     <Compile Include="UpdateTests.cs" />
     <Compile Include="DeleteTests.cs" />
     <Compile Include="RestrictionOperators.cs" />

=== modified file 'MySql.Data.Entity/Tests/Properties/schema.sql'
--- a/MySql.Data.Entity/Tests/Properties/schema.sql	2009-02-23 21:43:11 +0000
+++ b/MySql.Data.Entity/Tests/Properties/schema.sql	2009-08-10 21:17:20 +0000
@@ -1,5 +1,6 @@
 DROP TABLE IF EXISTS SalariedEmployees;
 DROP TABLE IF EXISTS Employees;
+DROP TABLE IF EXISTS EmployeeChildren;
 DROP TABLE IF EXISTS Toys;
 DROP TABLE IF EXISTS Companies;
 DROP TABLE IF EXISTS Orders;
@@ -31,6 +32,17 @@ CREATE TABLE SalariedEmployees(
 INSERT INTO salariedEmployees VALUES (5, 500);
 INSERT INTO salariedEmployees VALUES (7, 50);
 
+CREATE TABLE EmployeeChildren(
+	Id INT UNSIGNED NOT NULL PRIMARY KEY,
+	EmployeeId INT NOT NULL,
+	LastName NVARCHAR(20) NOT NULL,
+	FirstName NVARCHAR(10) NOT NULL,
+	BirthTime TIME,
+	Weight DOUBLE,
+	LastModified TIMESTAMP NOT NULL);
+
+INSERT INTO EmployeeChildren VALUES (1, 1, 'Flintstone', 'Pebbles', NULL, NULL, NULL);
+
 CREATE TABLE Companies (
 	`Id` INT NOT NULL AUTO_INCREMENT,
 	`Name` VARCHAR(100) NOT NULL,

=== modified file 'MySql.Data.Entity/Tests/TestModel.Designer.cs'
--- a/MySql.Data.Entity/Tests/TestModel.Designer.cs	2009-05-20 14:54:30 +0000
+++ b/MySql.Data.Entity/Tests/TestModel.Designer.cs	2009-08-10 21:17:20 +0000
@@ -1,7 +1,7 @@
 ∩-------------------------------------
 // <auto-generated>
 //     This code was generated by a tool.
-//     Runtime Version:4.0.20506.1
+//     Runtime Version:2.0.50727.4927
 //
 //     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: 5/20/2009 10:07:53 AM
+// Generation date: 8/10/2009 4:14:43 PM
 namespace MySql.Data.Entity.Tests
 {
     
@@ -52,7 +52,6 @@ namespace MySql.Data.Entity.Tests
         /// <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
@@ -64,12 +63,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -81,12 +78,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -98,12 +93,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -115,12 +108,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -132,12 +123,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -149,12 +138,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -166,12 +153,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -183,12 +168,10 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -200,12 +183,10 @@ namespace MySql.Data.Entity.Tests
                 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 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);
@@ -213,7 +194,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -221,7 +201,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -229,7 +208,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -237,7 +215,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -245,7 +222,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -253,7 +229,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -261,7 +236,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -269,7 +243,6 @@ namespace MySql.Data.Entity.Tests
         /// <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);
@@ -293,7 +266,6 @@ namespace MySql.Data.Entity.Tests
         /// <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();
@@ -303,11 +275,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -323,18 +294,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -350,18 +317,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -377,18 +340,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -404,11 +363,8 @@ namespace MySql.Data.Entity.Tests
                 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>
@@ -429,7 +385,6 @@ namespace MySql.Data.Entity.Tests
         /// <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();
@@ -440,11 +395,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -460,11 +414,8 @@ namespace MySql.Data.Entity.Tests
                 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>
@@ -485,23 +436,23 @@ namespace MySql.Data.Entity.Tests
         /// <param name="employeeID">Initial value of EmployeeID.</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 Child CreateChild(int id, int employeeID, string lastName, string firstName)
+        /// <param name="modified">Initial value of Modified.</param>
+        public static Child CreateChild(long id, int employeeID, string lastName, string firstName, global::System.DateTime modified)
         {
             Child child = new Child();
             child.Id = id;
             child.EmployeeID = employeeID;
             child.LastName = lastName;
             child.FirstName = firstName;
+            child.Modified = modified;
             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 int Id
+        public long Id
         {
             get
             {
@@ -516,18 +467,14 @@ namespace MySql.Data.Entity.Tests
                 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")]
+        private long _Id;
+        partial void OnIdChanging(long value);
         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
@@ -543,18 +490,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -570,18 +513,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -597,12 +536,78 @@ namespace MySql.Data.Entity.Tests
                 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.
+        /// </summary>
+        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
+        [global::System.Runtime.Serialization.DataMemberAttribute()]
+        public global::System.Nullable<global::System.TimeSpan> BirthTime
+        {
+            get
+            {
+                return this._BirthTime;
+            }
+            set
+            {
+                this.OnBirthTimeChanging(value);
+                this.ReportPropertyChanging("BirthTime");
+                this._BirthTime = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
+                this.ReportPropertyChanged("BirthTime");
+                this.OnBirthTimeChanged();
+            }
+        }
+        private global::System.Nullable<global::System.TimeSpan> _BirthTime;
+        partial void OnBirthTimeChanging(global::System.Nullable<global::System.TimeSpan> value);
+        partial void OnBirthTimeChanged();
+        /// <summary>
+        /// There are no comments for Property BirthWeight in the schema.
+        /// </summary>
+        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
+        [global::System.Runtime.Serialization.DataMemberAttribute()]
+        public global::System.Nullable<double> BirthWeight
+        {
+            get
+            {
+                return this._BirthWeight;
+            }
+            set
+            {
+                this.OnBirthWeightChanging(value);
+                this.ReportPropertyChanging("BirthWeight");
+                this._BirthWeight = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
+                this.ReportPropertyChanged("BirthWeight");
+                this.OnBirthWeightChanged();
+            }
+        }
+        private global::System.Nullable<double> _BirthWeight;
+        partial void OnBirthWeightChanging(global::System.Nullable<double> value);
+        partial void OnBirthWeightChanged();
+        /// <summary>
+        /// There are no comments for Property Modified in the schema.
+        /// </summary>
+        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
+        [global::System.Runtime.Serialization.DataMemberAttribute()]
+        public global::System.DateTime Modified
+        {
+            get
+            {
+                return this._Modified;
+            }
+            set
+            {
+                this.OnModifiedChanging(value);
+                this.ReportPropertyChanging("Modified");
+                this._Modified = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
+                this.ReportPropertyChanged("Modified");
+                this.OnModifiedChanged();
+            }
+        }
+        private global::System.DateTime _Modified;
+        partial void OnModifiedChanging(global::System.DateTime value);
+        partial void OnModifiedChanged();
     }
     /// <summary>
     /// There are no comments for testModel.Company in the schema.
@@ -621,7 +626,6 @@ namespace MySql.Data.Entity.Tests
         /// <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();
@@ -631,11 +635,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -651,18 +654,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -678,18 +677,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -705,18 +700,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -732,21 +723,17 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -765,19 +752,14 @@ namespace MySql.Data.Entity.Tests
                 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()]
@@ -813,7 +795,6 @@ namespace MySql.Data.Entity.Tests
         /// <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();
@@ -823,11 +804,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -843,18 +823,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -870,18 +846,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -897,17 +869,13 @@ namespace MySql.Data.Entity.Tests
                 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()]
@@ -926,7 +894,6 @@ namespace MySql.Data.Entity.Tests
         /// 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
         {
@@ -952,11 +919,10 @@ namespace MySql.Data.Entity.Tests
     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
@@ -972,18 +938,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -999,18 +961,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1026,18 +984,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1053,11 +1007,8 @@ namespace MySql.Data.Entity.Tests
                 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>
@@ -1076,7 +1027,6 @@ namespace MySql.Data.Entity.Tests
         /// </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();
@@ -1085,11 +1035,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -1105,18 +1054,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1132,18 +1077,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1159,18 +1100,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1186,18 +1123,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1213,18 +1146,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1240,11 +1169,8 @@ namespace MySql.Data.Entity.Tests
                 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>
@@ -1263,7 +1189,6 @@ namespace MySql.Data.Entity.Tests
         /// </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();
@@ -1272,11 +1197,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -1292,18 +1216,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1319,17 +1239,13 @@ namespace MySql.Data.Entity.Tests
                 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()]
@@ -1348,7 +1264,6 @@ namespace MySql.Data.Entity.Tests
         /// 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
         {
@@ -1382,7 +1297,6 @@ namespace MySql.Data.Entity.Tests
         /// <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();
@@ -1392,11 +1306,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -1412,18 +1325,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1439,18 +1348,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1466,17 +1371,13 @@ namespace MySql.Data.Entity.Tests
                 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()]
@@ -1495,7 +1396,6 @@ namespace MySql.Data.Entity.Tests
         /// 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
         {
@@ -1515,7 +1415,6 @@ namespace MySql.Data.Entity.Tests
         /// 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()]
@@ -1534,7 +1433,6 @@ namespace MySql.Data.Entity.Tests
         /// 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
         {
@@ -1567,7 +1465,6 @@ namespace MySql.Data.Entity.Tests
         /// </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();
@@ -1576,11 +1473,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -1596,18 +1492,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1623,18 +1515,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1650,17 +1538,13 @@ namespace MySql.Data.Entity.Tests
                 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()]
@@ -1695,7 +1579,6 @@ namespace MySql.Data.Entity.Tests
         /// </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();
@@ -1704,11 +1587,10 @@ namespace MySql.Data.Entity.Tests
             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
@@ -1724,18 +1606,14 @@ namespace MySql.Data.Entity.Tests
                 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
@@ -1751,17 +1629,13 @@ namespace MySql.Data.Entity.Tests
                 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()]

=== modified file 'MySql.Data.Entity/Tests/TestModel.csdl'
--- a/MySql.Data.Entity/Tests/TestModel.csdl	2009-02-20 20:00:13 +0000
+++ b/MySql.Data.Entity/Tests/TestModel.csdl	2009-08-10 21:17:20 +0000
@@ -47,10 +47,13 @@ <?xml version="1.0" encoding="utf-8"?
     <Key>
       <PropertyRef Name="Id" />
     </Key>
-    <Property Name="Id" Type="Int32" Nullable="false" />
+    <Property Name="Id" Type="Int64" Nullable="false" />
     <Property Name="EmployeeID" Type="Int32" Nullable="false" />
     <Property Name="LastName" Type="String" Nullable="false" MaxLength="20" />
     <Property Name="FirstName" Type="String" Nullable="false" MaxLength="10" />
+    <Property Name="BirthTime" Type="Time" Nullable="true"/>
+    <Property Name="BirthWeight" Type="Double" Nullable="true"/>
+    <Property Name="Modified" Type="DateTime" Nullable ="false"/>
   </EntityType>
 
   <EntityType Name="Company">

=== modified file 'MySql.Data.Entity/Tests/TestModel.msl'
--- a/MySql.Data.Entity/Tests/TestModel.msl	2009-02-23 21:43:11 +0000
+++ b/MySql.Data.Entity/Tests/TestModel.msl	2009-08-10 21:17:20 +0000
@@ -41,6 +41,9 @@ <?xml version="1.0" encoding="utf-8"?
           <ScalarProperty Name="EmployeeID" ColumnName="EmployeeID" />
           <ScalarProperty Name="LastName" ColumnName="LastName" />
           <ScalarProperty Name="FirstName" ColumnName="FirstName" />
+          <ScalarProperty Name="BirthTime" ColumnName="BirthTime"/>
+          <ScalarProperty Name="BirthWeight" ColumnName="Weight"/>
+          <ScalarProperty Name="Modified" ColumnName ="LastModified"/>
         </MappingFragment>
       </EntityTypeMapping>
     </EntitySetMapping>

=== modified file 'MySql.Data.Entity/Tests/TestModel.ssdl'
--- a/MySql.Data.Entity/Tests/TestModel.ssdl	2009-02-23 21:43:11 +0000
+++ b/MySql.Data.Entity/Tests/TestModel.ssdl	2009-08-10 21:17:20 +0000
@@ -51,10 +51,13 @@ ∩ <Key>
       <PropertyRef Name="Id" />
     </Key>
-    <Property Name="Id" Type="int" Nullable="false"/>
+    <Property Name="Id" Type="uint" Nullable="false"/>
     <Property Name="EmployeeID" Type="int" Nullable="false"/>
     <Property Name="LastName" Type="nvarchar" Nullable="false" MaxLength="20" />
     <Property Name="FirstName" Type="nvarchar" Nullable="false" MaxLength="10" />
+    <Property Name="BirthTime" Type="time" Nullable="true"/>
+    <Property Name="Weight" Type="double" Nullable ="true"/>
+    <Property Name="LastModified" Type="datetime" Nullable ="false"/>
   </EntityType>
 
   <EntityType Name="Companies">

=== modified file 'MySql.Data/Provider/Source/MySqlScript.cs'
--- a/MySql.Data/Provider/Source/MySqlScript.cs	2009-07-30 01:48:17 +0000
+++ b/MySql.Data/Provider/Source/MySqlScript.cs	2009-08-06 14:49:55 +0000
@@ -263,7 +263,7 @@ namespace MySql.Data.MySqlClient
             {
                 if (!tokenizer.Quoted)
                 {
-                    if (token.ToLowerInvariant() == "delimiter")
+                    if (token.ToLower(CultureInfo.InvariantCulture) == "delimiter")
                     {
                         currentDelimiter = tokenizer.NextToken();
                         startPos = tokenizer.StopIndex;

=== modified file 'MySql.Data/Provider/Source/command.cs'
--- a/MySql.Data/Provider/Source/command.cs	2009-08-11 01:14:22 +0000
+++ b/MySql.Data/Provider/Source/command.cs	2009-08-11 01:17:28 +0000
@@ -747,7 +747,6 @@ namespace MySql.Data.MySqlClient
             clone.CommandType = CommandType;
             clone.CommandTimeout = CommandTimeout;
             clone.batchableCommandText = batchableCommandText;
-            clone.EFCrap = EFCrap;
 
 			foreach (MySqlParameter p in parameters)
 			{

=== modified file 'MySql.Data/Provider/Source/datareader.cs'
--- a/MySql.Data/Provider/Source/datareader.cs	2009-05-21 17:16:16 +0000
+++ b/MySql.Data/Provider/Source/datareader.cs	2009-08-10 18:03:52 +0000
@@ -247,9 +247,9 @@ namespace MySql.Data.MySqlClient
         /// </summary>
         /// <param name="name"></param>
         /// <returns></returns>
-        public byte GetSByte(string name)
+        public sbyte GetSByte(string name)
         {
-            return GetByte(GetOrdinal(name));
+            return GetSByte(GetOrdinal(name));
         }
 
         /// <summary>
@@ -728,15 +728,6 @@ namespace MySql.Data.MySqlClient
 					return dt.GetDateTime();
 			}
 
-            if (command.EFCrap)
-            {
-                if (val is MySqlDecimal)
-                {
-                    MySqlDecimal d = (MySqlDecimal)val;
-                    if (d.Precision == 0 && d.Scale == 0)
-                        return d.Value > 0;
-                }
-            }
 			return val.Value;
 		}
 

=== modified file 'MySql.Data/Tests/MySql.Data.CF.Tests.csproj'
--- a/MySql.Data/Tests/MySql.Data.CF.Tests.csproj	2009-07-28 13:10:23 +0000
+++ b/MySql.Data/Tests/MySql.Data.CF.Tests.csproj	2009-08-06 14:49:55 +0000
@@ -78,7 +78,6 @@ <Project DefaultTargets="Build" xmlns
     <Compile Include="Source\GetSchemaTests.cs" />
     <Compile Include="Source\InterfaceTests.cs" />
     <Compile Include="Source\LanguageTests.cs" />
-    <Compile Include="Source\MySqlHelperTests.cs" />
     <Compile Include="Source\ParameterTests.cs" />
     <Compile Include="Source\PoolingTests.cs" />
     <Compile Include="Source\PreparedStatements.cs" />

Attachment: [text/bzr-bundle] bzr/vvaintroub@mysql.com-20090811011728-z62q9cvttmqa9ykn.bundle
Thread
bzr commit into connector-net-6.0 branch (vvaintroub:742)Vladislav Vaintroub11 Aug