title: .Net Core Entity Framework MySQL - string fields store 255 symbols only
body: <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>