码迷,mamicode.com
首页 > 其他好文 > 详细

2017年3月10日

时间:2017-03-10 22:01:03      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:config文件   conf   表单   ati   png   log   max   ecif   class   

  昨天加载好了 EF 和 Mysql.data.Entity 两个包,配置好了config文件,但是没有跑代码操作数据库。

  每次都是报错

  Specified key was too long; max key length is 767 bytes

  而现在用自己的笔记本上的vs2012却没有出现这个报错,特别神奇。Mysql每个字段不超过767字节,这个是Mysql默认的大小,当然可以通过Mysql的配置文件修改。

  技术分享

  我传入的对象 最长不超过20字节,所以非常不可思议。

  搜索了一天有了一个折中的解决方案

  [DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]  

  public class MyContext : DbContext{}

  用上面约束条件 之后如愿以偿 成功创建了表和插入了数据。

  在main里面直接跑  

  Database.SetInitializer(new CreateDatabaseIfNotExists<PortalContext>()); ///当数据库不存在 自动创建

  Database.SetInitializer(new DropCreateDatabaseIfModelChanges<PortalContext>()); ///当模型变化 删除数据库后在创建

  Database.SetInitializer(new DropCreateDatabaseAlways<PortalContext>()); ///总是删除数据库后创建一个新的

  用context继承来的方法 AddRange(datalist),把datalist表单 2w行一同插入表,14s。

  明天周末继续。

 

2017年3月10日

标签:config文件   conf   表单   ati   png   log   max   ecif   class   

原文地址:http://www.cnblogs.com/myjimu/p/6533087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!