.Net Core Entity Framework MySQL - string fields store 255 symbols only
<p>I'm creating an application using .Net Core, Entity Framework and MySQL 5.7, on Windows, using Visual Studio 2015. I've created new simple .net-core project in VS2015 for console application using EF. My data model consists of single type, Article, that has ID (int) and Body(string) fields. When I create database doing:</p>

<pre><code>&gt; dotnet ef migrations add initial_migration
&gt; dotnet ef database update
</code></pre>

<p>then string field (Article.Body) of my data model gets type VARCHAR(255) in database, no matter what I set in Column attribute <code>[Column(TypeName = "TEXT")]</code>, VARCHAR(1000) not works as well. So if I save some long string, it s truncated to 255 characters.</p>

<p>Furthermore, if I go to database settings and alter Body column to type TEXT in MySQL Workbench, then still string is truncated on 255 characters. What am I doing wrong?</p>

<p>I've put all the code (db context, model) in Program.cs for sake of simplicity.</p>

<p>Program.cs</p>

<pre><code>using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using MySQL.Data.EntityFrameworkCore.Extensions;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;

namespace netcore
{
    public class Program
    {
        public static void Main(string[] args)
        {
            ArticlesContext context = ArticlesContext.Create();

            Article a = new Article();
            a.Body = @"If one puts some long string here, than only first 255 characters will be saved.";

            context.Add(a);
            context.SaveChanges();
        }
    }

    // DB Context
    public class ArticlesContext : DbContext
    {
        private static string _conStr = @"server=localhost;userid=sevka;pwd=12321;port=3306;database=netcore;sslmode=none;";

        public ArticlesContext() : base() { }

        public ArticlesContext(DbContextOptions&lt;ArticlesContext&gt; options)
        : base(options)
        { }

        public static ArticlesContext Create()
        {
            var optionsBuilder = new DbContextOptionsBuilder&lt;ArticlesContext&gt;();
            optionsBuilder.UseMySQL(_conStr);

            //Ensure database creation
            var context = new ArticlesContext(optionsBuilder.Options);
            context.Database.EnsureCreated();

            return context;
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseMySQL(_conStr);
        }

        public DbSet&lt;Article&gt; Articles { get; set; }
    }

    public class Article
    {
        public int ID { get; set; }

        [Column(TypeName = "TEXT")]
        public string Body { get; set; }
    }
}
</code></pre>

<p>Project.json</p>

<pre><code>{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "Microsoft.EntityFrameworkCore.Tools": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    "MySQL.Data.Core": "7.0.4-IR-191",
    "MySql.Data.EntityFrameworkCore": "7.0.6-IR31"
  },

  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  }
}
</code></pre>