以下のエラーは、Entity Framework バージョン 4.3 以降で発生します。
http://www.cnblogs.com/shouzheng/archive/2012/03/09/2388177.html
(翻訳済み) EntityFramework を使用する Code First 開発と MySql データベースの問題の 1 つのケース
バージョン <= 4.1 では移行機能を使用できないため、最新バージョンの EF を使用したいと考えています。
MySql.Data.MySqlClient.MySqlException (0x80004005): SQL 構文にエラーがあります。near 'NOT NULL,
ProductVersion
mediumtext NOT NULL);ALTER TABLE 3 createMigrator、ObjectContext objectContext) で System.Data.Entity.Internal.InternalContext.CreateDatabase(ObjectContext objectContext) で System.Data.Entity.Database.Create() で System.Data.Entity.DropCreateDatabaseAlways 1.b_ 0(DbContext ) c) System.Data.Entity.Internal.InternalContext.<>c _DisplayClass8.b_ 6() で System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action アクション) で System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization () で System.Data.Entity.Internal.LazyInternalContext.b _4(InternalContext c) で System.Data.Entity.Internal.RetryAction 1 アクション) で System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase()
__MigrationH' at line 6 at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int32& insertedId) at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int32& insertedId) at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() at System.Data.Objects.ObjectContext.ExecuteStoreCommand(String commandText, Object[] parameters) at System.Data.Entity.Internal.InternalContext.ExecuteSqlCommand(String sql, Object[] parameters) at System.Data.Entity.Database.ExecuteSqlCommand(String sql, Object[] parameters) at System.Data.Entity.Migrations.History.HistoryRepository.BootstrapUsingEFProviderDdl(XDocument model) at System.Data.Entity.Internal.InternalContext.<SaveMetadataToDatabase>b__4() at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action) at System.Data.Entity.Internal.InternalContext.SaveMetadataToDatabase()
at System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func1.InitializeDatabase(TContext context) at System.Data.Entity.Database.<>c__DisplayClass2
1.PerformAction(TInput input) at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) で System.Data.Entity.Internal.Linq.InternalSet1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet
1.get_InternalContext()
で System.Data.Entity.Internal.Linq.InternalSet1.ActOnSet(Action action, EntityState newState, Object entity, String methodName) at System.Data.Entity.Internal.Linq.InternalSet
1.Add(Object実在物)
D:\Workspaces\Experiments\FaizeMBRoot\Source\DBPreparationTool\Form1.cs:line 39 の DBPreparationTool.Form1.PrepareDB_Click(オブジェクト送信者、EventArgs e) の System.Data.Entity.DbSet`1.Add(TEntity エンティティ) System.Windows.Forms.Control.OnClick(EventArgs e) で System.Windows.Forms.Button.OnClick(EventArgs e) で System.Windows.Forms.ButtonBase.OnKeyUp(KeyEventArgs kevent) で System.Windows.Forms.Control. ProcessKeyEventArgs(Message& m) で System.Windows.Forms.Control.ProcessKeyMessage(Message& m) で System.Windows.Forms.Control.WndProc(Message& m) で System.Windows.Forms.ButtonBase.WndProc(Message& m) で System. System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) の System.Windows.Forms.Control で Windows.Forms.Button.WndProc(Message& m)。ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)