首页 > 其他 > 详细

2017年3月10日

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

  昨天加载好了 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日

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!